求高手解决C语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:02:10
编写一程序,计算一个正整数的各个位的数字之和
要求如下
1.在主函数中输入整数,验证它的符号
2.计算功能以函数形式实现

#include<stdio.h>
int calculation(int n);
void main(void)
{
int n;
do{
printf("请输入一个正整数(最多17位数):");
scanf("%d",&n);
if(n<0) printf("对不起,你输入错误!请确保输入为正整数且在17位以内.\n");
}while(n<0);

printf("其各位数字之和为%d\n",calculation(n));
}
int calculation(int n)
{

for(int x=0;n!=0;n/=10)
x+=n%10;
return x;
}

int fun(int n)
{
int s=0;
while(n!=0)
{
s=s+n%10;
n=n/10;/*小数部分被自动舍去*/
}
return s;
}
然后在主函数中调用之即可