| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 583 人关注过本帖
标题:这程序错了那里,运行得不到想要的结果!
只看楼主 加入收藏
zhangzwz
Rank: 2
等 级:论坛游民
帖 子:24
专家分:21
注 册:2010-3-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
这程序错了那里,运行得不到想要的结果!
#include"stdio.h"
void main()
{
int x,a,b,c,z;
char a1,b1,c1;
printf("游戏开始,请输入编号:\n");
scanf("%d\n",&x);
printf("第一题,请听题:\n");
printf("中国的首都是:\n");
printf("A:北京\n B:上海\n C:广州\n D:武汉\n");
printf("请回答,正确答案是:\n");
scanf("%c",&a1);
if(a1=='a'||a1=='A')
{
a=100;
printf("回答正确,加100分\n");
}
else
{
a=0;
printf("回答不正确,不给于加分");
}
printf("第二题,请听题目\n");
printf("地上一个猴子,树上有个猴子,共有多少个猴子:\n");
printf("A:1\n B:2\n C:3\n D:4\n");
printf("请回答,正确答案是:\n");
scanf("%c",&b1);
if(b1=='B'||b1=='b')
{
b=100;
printf("回答正确,加100分!\n");
}
else
{
b=0;
printf("回答不正确,不加分!");
}
printf("第三题,请听题目:\n");
printf("地上一个猴子,树上7个猴子,共有多少个猴子\n");
printf("A:1\n B:2\n C:3\n D:4\n");
printf("请回答,正确答案是:\n");
scanf("%c",&c);
if(c1=='d'||c1=='D')
{
c=100;
printf("回答正确,加100分!\n");
}
else
{
c=0;
printf("回答不正确,不给分数\n");
}
printf("\n\n\n\n\n\n");
z=a+b+c;
printf("%d号的选手最后得分是:%d\n",x,z);
if(z>=300)
printf("恭喜你过关了\n");
else
printf("请继续努力\n");
}
希望能够一步一步的执行,但是我运行时却运行到第二个题目时,第三个题目都出来了,希望能帮我改改,谢谢!
搜索更多相关主题的帖子: 结果 得不到 运行 
2010-05-09 00:13
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:20 
可以用 %*c 格式 来跳过(即忽略掉)输入数字或答案后多输入的换行符。当然,你也可以在scanf()后面加getchar();或其它,一样的作用。

#include"stdio.h"
void main()
{
int x,a,b,c,z;
char a1,b1,c1;
printf("游戏开始,请输入编号:\n");
scanf("%d%*c",&x);
printf("第一题,请听题:\n");
printf("中国的首都是:\n");
printf("A:北京\n B:上海\n C:广州\n D:武汉\n");
printf("请回答,正确答案是:\n");
scanf("%c%*c",&a1);
if(a1=='a'||a1=='A')
{
a=100;
printf("回答正确,加100分\n");
}
else
{
a=0;
printf("回答不正确,不给于加分");
}
printf("第二题,请听题目\n");
printf("地上一个猴子,树上有个猴子,共有多少个猴子:\n");
printf("A:1\n B:2\n C:3\n D:4\n");
printf("请回答,正确答案是:\n");
scanf("%c%*c",&b1);
if(b1=='B'||b1=='b')
{
b=100;
printf("回答正确,加100分!\n");
}
else
{
b=0;
printf("回答不正确,不加分!");
}
printf("第三题,请听题目:\n");
printf("地上一个猴子,树上7个猴子,共有多少个猴子\n");
printf("A:1\n B:2\n C:3\n D:4\n");
printf("请回答,正确答案是:\n");
scanf("%c%*c",&c1);
if(c1=='d'||c1=='D')
{
c=100;
printf("回答正确,加100分!\n");
}
else
{
c=0;
printf("回答不正确,不给分数\n");
}
printf("\n\n\n\n\n\n");
z=a+b+c;
printf("%d号的选手最后得分是:%d\n",x,z);
if(z>=300)
printf("恭喜你过关了\n");
else
printf("请继续努力\n");
}
2010-05-09 00:26
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
楼上说的对。
同意。

南国利剑
2010-05-09 00:31
zhangzwz
Rank: 2
等 级:论坛游民
帖 子:24
专家分:21
注 册:2010-3-24
收藏
得分:0 
谢谢!
2010-05-09 00:34
遥望江南hsj
Rank: 1
等 级:等待验证会员
帖 子:29
专家分:0
注 册:2010-4-13
收藏
得分:0 
为什么我运行了之后 编译器显示“无法执行程序”呢?这个程序不是在VC6.0上写出来的吗?
2010-06-20 20:03
快速回复:这程序错了那里,运行得不到想要的结果!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025427 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved