麻烦大家了,能编译出来,但输出的不对
#include<stdio.h>int main()
{
int i;
int gw,sw,bw,sum;
printf("请输入一个100到999的数:");
scanf("%d",&sum);
gw=i%10;
sw=i/10%10;
bw=i%100;
sum=gw+sw+bw;
printf("各位数上的和是:%d",sum);
return 0;
} 你的i没有赋值啊。是不是scanf("%d",&sum)这句写错了,你是打算写成scanf("%d",&i)吧? sunrise085 发表于 2019-2-22 10:26
你的i没有赋值啊。是不是scanf("%d",&sum)这句写错了,你是打算写成scanf("%d",&i)吧?
对,他应该是这个目的
#include<stdio.h>
int main()
{
int i;
int gw,sw,bw,sum;
printf("请输入一个100到999的数:");
//scanf("%d",&sum);
scanf("%d",&i);
gw=i%10;
sw=i/10%10;
bw=i%100;
sum=gw+sw+bw;
printf("各位数上的和是:%d",sum);
return 0;
} 1.首先你的程序里i没有赋值,应该是scanf("%d",&i);
2.你的百位数字求法不对,可以举个简单例子,修改后应该是bw=i/100%10;
3.对于制定输入应该检查输入是否符合规范,建议增加检查规范
修改后程序如下:
#include<stdio.h>
int main()
{
int i;
int gw,sw,bw,sum;
printf("请输入一个100到999的数:");
scanf("%d",&i);
if( i>99 && i <1000)
{
printf("输入的数字是:%d\n",i);
gw=i%10;
printf("个位数是:%d\n",gw);
sw=i/10%10;
printf("十位数是:%d\n",sw);
bw=i/100%10;
printf("百位数是:%d\n",bw);
sum=gw+sw+bw;
printf("各位数上的和是:%d",sum);
}
else
{
printf("输入非法");
}
return 0;
} sunrise085 发表于 2019-2-22 10:26
你的i没有赋值啊。是不是scanf("%d",&sum)这句写错了,你是打算写成scanf("%d",&i)吧?
好的,谢谢,怪不得。。。 hwq731364764 发表于 2019-2-22 17:20
1.首先你的程序里i没有赋值,应该是scanf("%d",&i);
2.你的百位数字求法不对,可以举个简单例子,修改后应 ...
谢谢,麻烦了,我知道了。{:5_103:}
页:
[1]