#include <stdio.h>
#include <stdlib.h>
int main()
{
char a1,a2,a3,a4;
int sum;
scanf("%c%c%c%c",&a1,&a2,&a3,&a4);
sum = a1+a2+a3+a4-4*'0';
printf("%d",sum);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, sum;
scanf("%d",&a);
sum = 0;
while(a){
sum += a%10;
a /= 10;
}
printf("%d",sum);
return 0;
}
sum = (int)(a+b+c+d);这样得到的并不是四位数的和,二是其对应的ascii码的和,需要减去'0'才是正确的。
sum = a+b+c+d - 4 * '0';
另一种写法是:
#include<stdio.h>
int main()
{
int n;
int sum = 0;
printf("Input a number with 4-digit:");
scanf("%d",&n);
while (n)
{
sum += n%10;
n/=10;
}
printf("\nThe result is sum=%d",sum);
return 0;
}