从键盘得到一个数,要求写函数完成功能如下:让这个数的每个位上的数相加,如果结果为>10,再来一次。。。e.g:输入:456,应该输出:6 (4+5+6=15,1+5=6)。
#include <stdio.h>
#include <string.h>
int calc(int num);
main()
...{
int i,j,result;
int num;
printf("Please input a number! ");
scanf("%d",&num);
result=calc(num);
if(result>9)
result=calc(result); /**//*递归调用calc*/
printf(" The result is: %d",result);
return 0;
}
int calc(int num)
...{
int i;
int count,result=0;
char temp[20];
i=num;
sprintf(temp,"%d",i);/**//*将num按位读入temp[20]*/
count=strlen(temp); /**//*取得输入数的实际位数*/
for(i=0;i<count;i++)
result+=(temp[i]-'0');
return result;
}

/**//*在Turbo c2.0下编译通过,Crazy7 2006-12-16*/

本文介绍了一个简单的C语言程序,该程序能够接收用户输入的一个整数,并实现对该整数的每一位进行求和,若求和结果大于10,则继续对求和结果再次进行同样的操作,直至结果小于等于10。

被折叠的 条评论
为什么被折叠?



