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

\u8f93\u5165\u4e00\u4e2a\u6574\u6570\uff0c\u8bb2\u5404\u4f4d\u6570\u5b57\u53cd\u8f6c\u540e\u8f93\u51fa\uff0c\u5982\u4f55\u7528C\u8bed\u8a00\u7f16\u5199\uff1f

#include
#include
int main()
{
int former,latter=0;
printf("\u8bf7\u8f93\u5165\u9700\u8981\u53cd\u8f6c\u7684\u6574\u6570\uff1a");
scanf("%d",&former);
do
{
latter*=10;
latter+=former%10;
former/=10;
}
while (former);
printf("\u53cd\u8f6c\u540e\u6574\u6570\u4e3a\uff1a%d",latter);
getch();
}\u4e8c\u697c\u7684\u65b9\u6cd5\u662f\u4ece\u4f4e\u5230\u9ad8\u83b7\u53d6\u6bcf\u4e00\u4f4d\u6570\u5b57\u9010\u4e2a\u8f93\u51fa\uff0c\u800c\u6211\u7684\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba1\u7b97\u51fa\u53cd\u8f6c\u4e4b\u540e\u7684\u6570\u636e\uff0c\u7136\u540e\u518d\u8f93\u51fa\u3002

\u6c42\u6574\u6570\u5404\u4f4d\u548c\uff0c\u5c06\u6574\u6570\u5404\u4e2a\u4f4d\u5206\u79bb\u51fa\u6765\u7684\u65b9\u6cd5\uff08\u966410\u53d6\u6a21\uff09\u5f88\u5e38\u7528\u3002
\u51fd\u6570\u5982\u4e0b
int intsum(int n)
{
int sum = 0;
while(n) //\u4e0d\u65ad\u5206\u79bb\u6700\u4f4e\u4f4d
{
sum += n%10;
n /= 10;
}
return sum;
}

#include <stdio.h>
#include <malloc.h>

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
",sum);
}


return 0;
}


扩展阅读:从小c到大 ... 程序中怎么输入正整数 ... c++编程 ... c语言输入n个数以0结束 ... c语言如何输入正整数 ... 输入一个不多于5位的正整数c语言 ... 运算符&& ... c语言整数正序输出 ... c语言如何输入一个整数 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网