在C中添加n个数字

时间:2013-02-05 02:22:22

标签: c while-loop

我正在学习C,目前正在通过命令行程序上班。我有兴趣编写一个程序,它会将 n 术语添加到彼此,就像普通计算器一样。数字 n 将由用户输入的术语数量来定义(与用户在操作之前显式输入的用户指定的 n 相反)。如何才能做到这一点?我应该使用while循环吗?

到目前为止,我已经尝试过简单地定义一个用户可以输入的有限数量的术语(最多10个术语,如果它更少,只需用零替换剩余的术语)。

scanf("%f%c%f%cf%cf%cf%cf%cf%cf%cf%cf", &num1, &op, &num2, &op, &num3, &op, &num4, &op, &num5, &op, &num6, &op, &num7, &op, &num8, &op, &num9, &op, &num10);

    // addition
    if (strcmp(&menuchoice, "a") == 0)
        {
            num3 = num1+num2+num3+num4+num5+num6+num7+num8+num9+num10;
            return num3;
        }

1 个答案:

答案 0 :(得分:3)

如果您只想在输入 n 数字后显示总和,您必须找到所有数字都已输入的方法。一种方法是获得用户可以输入的 sentinel 值。这可以是空行或类似=的字符串。如果您只是添加正数,则可以使用负数0来表示所有数字都已输入。

while (1)
{
    /* get input */
    if (/* should exit */)
        break;
    sum += input;
}
/* show sum */

如果您尝试模拟计算器,则只需在输入每个数字后显示运行总计。这样你就无法弄清楚 n 的大小。

while (1)
{
    /* get input */
    sum += input;
    /* show sum */
}
相关问题