几天给大家来一道简单的循环练习题
题目描述如下:
输入一个大于0的非负整数,输出其每位之和
例如:
6=6;
12=1+2=3
721=7+2+1=10
1001=1+0+0+1
这题思路很简单,我们只要对这个数模上10,就得到了个位,这个个位我们可以定义一个变量储存起来,然后把那个数再除以10,就可以把个位消去了,再模上10,让那个定义的变量再加上这个得数,反复这两步
所以我们可以把上面两步写成一个while循环
当那个要计算的数<0时就可以停止循环了
代码如下:
#include <stdio.h>
int number(int num)
{
int sum = 0;
while (num > 0) //当num<0时,停止循环
{
sum = sum + num % 10; //模10得到个位
num = num / 10; //除10把个位去掉
}
return sum;
}
int main()
{
int num = 0;
printf("请输入大于0的非负的整数\n");
scanf("%d", &num);
int ret = number(num);
printf("%d", ret);
return 0;
}