c语言while循环求和

如何打出这些+号,刚刚学习不是很理解,+号最后总是多一个,怎控制刚刚好列出表达式,如1+2+3+4+5+6+7+8+9=45

img

个位上的数不要放在循环里

#include <stdio.h>
 
int main() {
    int sum, n;
    scanf("%d", &n);
    printf("%d", n%10);
    sum += n%10;
    n /= 10;
    while (n>0){
        printf("+%d", n%10);
        sum += n%10;
        n /= 10;
    }
    printf("=%d", sum);
    return 0;
}

得看看你是怎么写的代码了,如果是每一位数字放进数组的话,那么最后输出可以特判一下i的值以此控制’+‘号的输出。如果是在while循环中计算完直接输出的话可以判断当原数字只剩下一位的时候不输出’+‘号,望采纳。

#include<stdio.h>
int main()
{
    int n,mid;
    scanf("%d",&n);
    int sum = 0;
    while(n > 0){
        mid = n % 10;
        if(n / 10 == 0)
            printf("%d=",mid);//最后一个数的时候 
        else
            printf("%d+",mid);
        n /= 10; 
        sum += mid;
    }
    printf("%d\n",sum);
    
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

请把你的程序写出来吧