#include<stdio.h>
int main(){
long n;
scanf("%d",&n);
printf("%d",n);
int sum = 0;
int yushu = 0;
while (n/10!=0){
sum+=n%10;
printf("%d\n",n%10);
n = n/10;
}
printf("%d",sum);
}
怎么能够让输入的数据完整的存储
输入输出一致。
仅供参考!谢谢!
#include<stdio.h>
#if 0
首先你应该清楚有符号长整型
最多支持19位数十进制数
超出将溢出,不能准确表示。
要想任意长度的输出,应该用字符串的方式。
如果纯粹是为了输出,直接字符串方式输入然后输出即可,没必要去计算了。
还有格式化输入输出,如果用到长整型,要添加长度修饰符。
%ld,而不是%d。
最后主函数要有返回值。
#endif
int main()
{
long n;
scanf("%ld", &n);
printf("%ld\n\n", n);
int sum = 0;
int yushu = 0;
printf("各个位分别是:\n");
while (n / 10 != 0)
{
sum += n % 10;
printf("%d\n", n % 10);
n = n / 10;
}
if(n!=0)
{
printf("%d\n", n);
sum+=n;
}
printf("\n各个位的数字之和为:%d\n",sum);
return 0;
}
可以存到数组里