#include
int main(void)
{
int num, i, sum = 0;
scanf("%d", &num);
while (num > 0) {
i = num % 10; // 依次取低位
num /= 10;
sum += i; // 相加
printf("%d\n", i); // 打印一位
}
printf("sum = %d\n", sum); // 输出和
return 0;
}
这个是从个数打到百位,支持任意位数,不知道是否符合要求,如果非要从高位往低位输出,则要改改。
#include
int main(void)
{
int num, i = 0, sum = 0;
int array[20]; // 利用一个数组临时接收
scanf("%d", &num); // 获取输入值
while (num > 0) {
array[i++] = num % 10; // 依次存到数组中
num /= 10;
}
for (num=i-1; num>=0; num--){ // 从数组后往前打印
sum += array[num];
printf("%d ", array[num]);
}
printf("\nsum = %d\n", sum); // 输出和
return 0;
}
#include
int main()
{
int a, b, c, d, e;
printf("输入一个三位数:");
scanf("%d", &a);
if (a > 999 || a < 100)
printf("输入错误!");
else
{
b = a / 100;
c = a / 10 % 10;
d = a % 100 % 10;
e = b + c + d;
printf
("百位是%d,十位是%d,个位是%d,各个位数的和为%d",
b, c, d, e);
}
return 0;
}
祝你愉快!~\(≧▽≦)/~