输入一个三位数的整数,求其各位数的和

img

img


不知道写的代码哪里错了,显示了答案错误,在线请求帮助,谢谢了

(1)原代码存在的问题

#include <stdio.h>
int main()
{
    int n=123; //n是通过scanf输入的,不需要在代码中指定
    scanf("%d",&n);
    printf("%d",n/100+n/60+n/40); //首先应该有换行符,其次这个对123外的其它输入不一定是各位之和,比如200的个位之和是2但是题主这样算是10
    return 0;
}

(2)修改后的代码

#include <stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    printf("%d\n",n%1000/100+n%100/10+n%10);
    return 0;
}

(3)代码运行结果截图
结果1:

img


结果2:

img

n/60是要干啥啊?
printf("%d",n/100+n%100/10+n%10);

改成这样,这样更清晰:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a=n%10;// 个位 
    int b=n/10%10;// 十位
    int c=n/100;// 百位
    printf("%d",a+b+c);
    return 0;
}