题目链接:
解题思路:
本质上是利用双层 while 循环去求解,
外层 while 循环用来判断此时的数据是否为位数为1的数
内层 while 循环是计算位数不为1的数字各部分加起来的和
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int data = 0;
cin >> data;
//思路是:利用俩层 while 循环
while(data > 9)//外层循环用来判断此时的数据是否为位数为1的数
{
int sum = 0;//要放在外层循环的内部
while(data)//内层while循环是计算位数不为1的数字各部分加起来的和
{
sum = sum + (data % 10);
data = data / 10;
}
data = sum;//更新 data 的值
}
printf("%3d",data);
return 0;
}