C语言:输入一个正整数 m(m<10000),输出组成该整数的各位数字和,例如输入256,输出13(即2+5+6)

2024-11-24 10:29:56
推荐回答(1个)
回答1:

#include 
#include 

int count_fun(int n)
{
int count = 1;
while(n>=10)
{
count++;
n=n/10;
}
return count;
}
int main(int argc, char *argv[])
{
int n,i,sum = 0;
scanf("%d",&n);
int *arr = (int *)malloc(sizeof(int)*n);

for(i = 0; i < n; i++)
{
scanf("%d",&arr[i]);
}

for(i = 0; i < n; i++)
{
switch(count_fun(arr[i]))
{
case 1:
sum += arr[i];
break;
case 2:
sum = arr[i]/10 + arr[i]%10;
break;
case 3:
sum = arr[i]/100 + arr[i]%100/10 + arr[i]%10;
break;
case 4:
sum = arr[i]/1000 + arr[i]%1000/100  
+ arr[i]%1000%100/10 + arr[i]%10;
break;
}

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


return 0;
}