C语言编程:怎样实现输入任意整数,逆序输出其各位数并以和的形式输出

如题所述

可以定义一个字符串数组,
再用循环语句计算和,再输出
既然如此
#include<stdio.h>
int main() {

char num[1000];

scanf("%s",num);
int i=0;
long sum=0;
for(; num[i]!='\0'; i++);
printf("倒序输出:");
for(int j=i-1; j>=0; j--) {
printf("%c",num[j]);
sum+=num[j]-'0';
}
printf("\n总和:%ld",sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-22
#include<stdio.h>
#include<math.h>
int main()
{
int a,b=0,c,sum=0;
scanf("%d",&a);
for(c=log10(a);c>=0;c--)b+=a%((int)pow(10,((int)log10(a)-c+1)))/(int)pow(10,((int)log10(a)-c)) * (int)pow(10,c);
for(c=log10(a);c>=0;c--)sum+=a%((int)pow(10,((int)log10(a)-c+1)))/(int)pow(10,((int)log10(a)-c));
printf("%d %d",b,sum);
return 0;
}

追问

你的代码似乎不行诶

输入12345结果是0 15

追答

?我这边测试了几组,包括12345在内,结果应该没错啊。。。

追问

追答

可能是你的编译器问题...

该测试结果由 编译生成 http://ideone.com/