c语言编程问题

#include"stdio.h"intmain(void){inta,b,c,d,e,f;scanf("%d",&a);/输入一个四位数/if(a<1000||a>99... #include "stdio.h"
int main (void)
{ int a,b,c,d,e,f;
scanf("%d",&a); /输入一个四位数/
if (a<1000||a>9999) /判断是否为四位数/
printf("不是四位数,错误\n");
else
b=a/1000;
c=(a-1000*b)/100;
d=(a-1000*b-100*c)/10;
e=(a-1000*b-100*c-10*d);
f=b+c+d+e;
if(f%2==0)
printf("各位之和是%d为偶数\n",f);
else printf("各位之和是%d为奇数\n",f);
return 0;
}

这是我的程序 目的是拆分一个四位数,并求各位数字的和,然后判断奇偶性
并且,如果不是四位数,还要进行判断
问题就出现了,当我输入的数字不是四位时,本来就不应该进行拆分的运算了,但是它还是进行拆分了,于是就出现错误,希望高手指点一下
展开
 我来答
建芷若2C
2010-04-19 · 超过27用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:60.2万
展开全部
#include "stdio.h"

int main (void)
{
int a,b,c,d,e,f;

while(1) /*可以用个while循环使输入错误时重新输入*/
{
scanf("%d",&a); /*输入一个四位数*/ /*你的注释有错*/
if (a<1000||a>9999) /*判断是否为四位数*/ /*同上*/
{
printf("不是四位数,错误!请从新输入:\n");
continue;
}
else
{ /*少了大括号*/
b=a/1000;
c=(a-1000*b)/100;
d=(a-1000*b-100*c)/10;
e=(a-1000*b-100*c-10*d);
f=b+c+d+e;
} /*少了大括号*/
if(f%2==0)
printf("各位之和是%d为偶数\n",f); /*不是四位数,同样要进行输出,而输出的是垃圾值所以上面用个循环重新输入*/
else printf("各位之和是%d为奇数\n",f); /*同上*/
break;
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
186044
2010-04-18 · TA获得超过1966个赞
知道大有可为答主
回答量:848
采纳率:0%
帮助的人:1315万
展开全部
else没加括号哈:

#include "stdio.h"
int main (void)
{ int a,b,c,d,e,f;
scanf("%d",&a); /输入一个四位数/
if (a<1000||a>9999) /判断是否为四位数/
printf("不是四位数,错误\n");
else
{
b=a/1000;
c=(a-1000*b)/100;
d=(a-1000*b-100*c)/10;
e=(a-1000*b-100*c-10*d);
f=b+c+d+e;
if(f%2==0)
printf("各位之和是%d为偶数\n",f);
else printf("各位之和是%d为奇数\n",f);
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-04-18
展开全部
#include "stdio.h"
int main (void)
{ int a,b,c,d,e,f;
scanf("%d",&a); /输入一个四位数/
if (a<1000||a>9999) /判断是否为四位数/
printf("不是四位数,错误\n");
else
{
b=a/1000;
c=(a-1000*b)/100;
d=(a-1000*b-100*c)/10;
e=(a-1000*b-100*c-10*d);
}
f=b+c+d+e;
if(f%2==0)
printf("各位之和是%d为偶数\n",f);
else printf("各位之和是%d为奇数\n",f);
return 0;
}
问题在于else之后的各句少了个{}将那些要一起执行的语句包含起来。按照你原来的程序,如果不是四位数的话则只有b=a/1000;没有被执行,错就在于此!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式