#include<stdio.h>
int main()
{
int n = 0;//n用来存放用户输入的 值
int s = 0;//s用来存放位数字和
int i = 0;//i用来存放位数
printf("Input an integer:");
scanf("%d", &n);
while (n != 0) {
s += (n % 10); //n对10求余,就可以求出 n的个位数字
n /= 10; // (n/10) 将会把个位数字丢弃
++i; // 一个循环 i 将会自增一次, 表示位数 会比上一次多 1
}
printf("位数是: %d, 各位数字之和为: %d\n", i, s);
return 0;
}方法不止一种, 仅供参考, 实在看不懂了, 就动笔 推算一下....