关于#c++#的问题,请各位专家解答!



关于#c++#的问题,请各位专家解答!
可以使用循环来实现。
代码如下:
#include <iostream>
using namespace std;
int main(void){
int n,sum=0,temp;
cin>>n; // 获取n
while(n!=1){ // 如果n不为1,则循环计算
temp=n; // 备份n到temp,用于计算n的各数位数字之和
// temp2=n;
sum=0; // 存储n各位数字之和的变量sum初始化为0
while(temp!=0){ // 计算整数n 的各位数字之和
sum+=temp%10;
temp/=10;
}
// getchar();
if (sum%2!=0){ // 如果和为奇数
cout<<n<<"->"<<sum<<"*3+1="<<sum*3+1<<endl;
n=sum*3+1;
}else{ // 如果和为偶数
cout<<n<<"->"<<sum<<"/2="<<sum/2<<endl;
n=sum/2;
}
// getchar();
}
// 如果n的值为1,打印"End"
if(n==1){
cout<<"End";
}
return 0;
}
