如何对同一变量中的所有值求和?

cs-laz

我正在处理一项任务,但代码正在做一些奇怪的事情。这是我“编程”的第 7 天,所以这可能只是一个明显的错误,我根本看不到。

我希望程序对存储在同一变量中的所有值求和。我试图从这里复制一些代码:https : //stackoverflow.com/a/42166389,但它没有按预期工作。

因此,给定一组值 -比方说 012345-,程序应该每隔一个数字-4、2和 0-,并将它们相加 - 返回 "6"-而且,虽然它确实识别了数字,但它并没有对它们求和……至少是正确的。我不明白为什么,但它返回 48

我尝试了不同的输入,在正确识别数字的同时,在所有情况下总和都是错误的。

我真的很感激任何帮助。哦,这是我的代码!:

#include <cs50.h>
#include <stdio.h>
#include <string.h>

int main(void) {
    char c;
    string number;
    int length, i, sum = 0;

    printf("Type card number: ");
    number = get_string();

    printf("Tell us how many characters long was your number: ");
    length = get_int();

    for (i = 1; i <= length / 2; i++) {
        c = number[(strlen(number) - i * 2)];
        sum = c;
        printf("%c %i %s\n", c, sum, number);
    }
}

一些例子:

对于输入012345length=6,输出为:

4 52 012345
2 50 012345
0 48 012345

对于输入9876543210length=10,输出为:

1 49 9876543210
3 51 9876543210
5 53 9876543210
7 55 9876543210
9 57 9876543210

而且,总而言之,我想要的是一种将同一变量中的所有值相加的方法。

高拉夫·塞加尔
 sum = c;

您正在为 sum 分配 ASCII 值。您应该获得相应的数字并将其添加到 sum 中,而不仅仅是分配。

 4 52 012345  //52 is ASCII value of 4
 2 50 012345  //50 is ASCII value of 2
 0 48 012345  //48 is ASCII value of 0

试试这个,

 sum+=c-'0';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何对列中的所有值求和?

如何对字典中的所有值求和?

如何将两个json值解组到同一变量中?

同一变量“ args”的两个不同值

如何求和属于同一个键的所有值?

在R中,我如何向下填充与一个变量匹配但与另一变量不匹配的所有行

在R中为同一变量寻找配对值

如何为同一变量的多个服务器提供不同的值

如何为同一变量分配更多范围?

带有多个值的Typescript If语句与同一变量匹配

如何防止geom_bar中的条与同一变量重叠?

引用R中同一变量中的前一个值,无循环

如何将pandas groupby()对象存储在具有不同索引的同一变量中

PHP array_diff_assoc在同一变量中

C ++中的指针同一变量具有两个不同的地址

mod重写中同一变量的多个值

设计对象时,同一变量有多个值(在Python中使用self)

如何在UNIX中将多个值设置为同一变量?

如何使用php将多个字段数据存储到同一变量中?

在python中为同一变量使用多个条件

从同一变量中的多个值计算R中的变量

如何从同一列中获取所有值?

如何在C#中将checkbox的两个值传递给response.redirect中的同一变量

同一变量中不同格式的时间戳

同一变量中类的多个实例化

具有来自同一变量的值的类中的两个或多个属性是相关的

R:混合模型 - 如何使用同一变量的先前值来预测变量

如何合并从同一变量派生的数组

如何在 terraform cli 的不同模块中为同一变量定义不同的值?