c语言题求解答 输入一个无符号N(1=<N<=5)位整数,输出:

输入一个无符号N(1=&lt;N&lt;=5)位整数,输出: //1.这个整数的位数; //2. 这个整数各位数字之和; //3.各位上数字的阶乘之和; //4. 倒序输出这个整数。例如:输入3241,那么输出: //1. 整数位数为:4 //2. 各位数字之和为:10;(提示:1+2+3+4) //3. 各位上数字阶乘之和为:33;(提示:1!+2!+3!+4!=33) //4. 倒序为:4321
2026年09月21日 14:40
有2个网友回答
网友(1):

/*

N = 1234

1234共有4位。

1234的各位数字之和为:10。

1234的各位数字阶乘之和为:33。

1234的倒序数为:4321。

Press any key to continue

*/

#include 

int main() {
int N,n = 0,sum = 0,digits = 0;
int i,ns,digit,factsum = 0,fact;
printf("N = ");
scanf("%d",&N);
ns = N;
while(N) {
digit = N % 10;
++digits; // 位数计数器
sum += digit; // 各位数字之和
n = 10 * n + digit; // n为倒置的N
fact = 1; // 注意到 0! = 1
for(i = 1; i <= digit; ++i)
fact *= i;
factsum += fact; // 各位阶乘之和
N /= 10;
}
printf("%d共有%d位。\n",ns,digits);
printf("%d的各位数字之和为:%d。\n",ns,sum);
printf("%d的各位数字阶乘之和为:%d。\n",ns,factsum);
printf("%d的倒序数为:%d。\n",ns,n);
return 0;
}

网友(2):

每个问题都很简单,一个一个去慢慢完成啊,有不懂的再来问呀