C编程而循环分配

C编程而循环分配

问题:以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 - C编程而循环分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29051068/

10-12 22:00