C语言输入一个无符号正整数,输出该数每位加起来的和

#include
#include
//如果这个数字比9小直接输出,如果比9大,就除10模10
int print(unsigned int num)
{
	if (num>9)
	{
	return	print(num / 10) + num % 10;
	}
	else
	{
		return num;
	}
}
void main()
{
	unsigned int num;//无符号整数
	printf("请输入一个正整数:>");
	scanf("%d",&num);
	int z=print(num);
	printf("%d",z);
}

我们知道,对一个整数除10求余数,得到的是最末尾那个数字,例如1234%10=4,而我们要等到1、2、3、4就要对1234取余四次。

写成可能好理解一点。

int print(unsigned int num)
{
	int count=0;
	while (num > 9)
	{
		unsigned int temp;
		temp = num % 10;//获取整数的每一位
		num = num / 10;//将商作为被除数继续除余
		count += temp;
	}
	if(num<9)
	return count+num;
}

C语言输入一个无符号正整数,输出该数每位加起来的和_第1张图片

你可能感兴趣的:(笔记,C#,c#,笔记,c语言)