“任意输入一个三位数,输出这个三位数的百位、十位和个位,并且计算十位百位个位的和。”c语言程序

2024-10-30 10:47:00
推荐回答(2个)
回答1:

#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;
}

回答2:

#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;
}
祝你愉快!~\(≧▽≦)/~