C 编程 While 循环赋值

标签 c loops while-loop

问题:将n作为输入。然后将 n 个数字作为输入并打印这 n 个数字的总和。但是这次输出为下面的格式。 示例:

输入:

4
1 5 3 -4

输出 1 + 5 + 3 – 4 = 5

我正确地得到了输出值,但我不知道如何显示实际的求和序列,尤其是在一行中....

我的代码:

main ()
{
    int n,m,cnt=0,sum=0;

    printf("Input: ");
    scanf("%d", &n);

    while(cnt<n)
    {
        scanf("%d\b", &m);
        sum=sum+m;
        cnt=cnt+1;

        if(m>0 && m!=n)
        {
            printf("\b+",m);
        }
        else if (m<0)
        {
            printf("%d",m);
        }
    }

    printf("=%d\n\n",sum);

}

最佳答案

这是我想出的示例解决方案:

#include <stdio.h>

int main() {
    int n = 0,
        count = 0,
        sum = 0;

    int first = 1;

    printf("How many numbers do you wish to sum? " );
    scanf("%d", &n);

    while (count < n) {
        int m;
        scanf("%d\b", &m);

        if (!first) {
            if (m < 0) {
                printf("- %d ", -m);
            } else {
                printf("+ %d ", m);
            }
        } else {
            first = !first;
            printf("%d ", m);
        }

       sum += m;

       count++;
    }

    printf("= %d\n\n", sum);

    return 0;
}

这是一个示例执行:

$ gcc stackoverflow.c -o stackoverflow
$ ./stackoverflow 
How many numbers do you wish to sum? 5
1 -2 -3 4 10 -40
1 - 2 - 3 + 4 + 10 = 10

关于C 编程 While 循环赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29051068/

相关文章:

c - C Mandelbrot 程序中的二进制错误导致无效操作数

java - 在 Java 中复制包含对象的双 ArrayList (ArrayList<ArrayList<Object>>>)

java - 如何让程序显示可被 5 整除的值的总和,而不是仅显示值本身?

c# - 在 C# 中按行和按分隔符读取带分隔符的文本文件

java - while语句循环错误

c - 编译 clang 的 <noreturn.h> 和 Windows header 时出现 declspec 错误

c - C 函数参数前的下划线

c - 为什么这样会产生无限循环(C,While Loop)

无法在 VS 2019 上以 Release模式为 SDL 库构建解决方案

Java,使用多个条件语句,while循环,for循环,if语句的问题