繁体   English   中英

某个数的位数之和

[英]Sum of digits of some number

例如,如果我输入 12345 那么 sum = 1+2+3+4+5

int i ;
int sum;
int individual;
int n;
printf("enter the number: ");
scanf("%d",&n);
for (i=0;i<5;++i){
  **indvidual=+n[i];**
  sum=+invidual;
}
printf("%d",sum)
return 0;

您可以除以 10 并查看余数以获得每个数字。

此外,您应该使用+=而不是=+将内容添加到变量并在使用它们的值之前初始化变量。

int i ;
int sum = 0; /* initialize */
int individual;
int n;
printf("enter the number: ");
scanf("%d",&n);
for (i=0;i<5;++i){
  indvidual=+(n%10); /* obtain a digit (+ is not required, but left by respect) */
  n/=10; /* eliminate last dight and proceed to next digit */
  sum+=invidual; /* use += instead of =+ */
}
printf("%d",sum); /* also add semicolon here */
return 0;
#include <stdlib.h>    
#include <stdio.h>
int main()
{
    int i = 12345;
    int sum;
          
    i = abs(i);
    sum = i?i%9?i%9:9:0;

    printf ("Sum of digits is %d\n",  sum);
}

结果是 6

因为1 + 2 + 3 + 4 + 5 = 15然后1 + 5 = 6

(或者是预期的 output 15 ,只需通过数字一次?)



如果您只想通过数字一次:
 #include <stdlib.h> #include <stdio.h> int main() { int i = 12345; int sum=0; i = abs(i); while(i) { sum += i%10; i /= 10; } printf ("Sum of digits is %d\n", sum); return 0; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM