| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1649 人关注过本帖
标题:[讨论]一道用循环语句做的选择题
只看楼主 加入收藏
碰碰儿
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-17
收藏
 问题点数:0 回复次数:26 
[讨论]一道用循环语句做的选择题
题目是这样的:输出:
Z C D
1.INPUT STUDY
2.FIDE STUDY
3.PRINTRT STUDY
0.EXIT
要求如果选择1,则显示"please input"选择2,则显示"fied number";选择3,则显示"in process of use";选择0,则显示"thank use";选择其它则显示"wrong".用循环语句实现用户的重复输入,直到输入选择为"0"时,结束循环.
我解的题如下:
#include<stdio.h>
main()
{
int a,b;
printf("\n Z C D\n 1.INPUT STUDY\n 2.FIDE STUDY\n 3.PRINTRT STUDY\n 0.EXIT ");
printf("\n CHOOSE 1-3:");
scanf("%d",&a);
for(b=0;b!=a;b=b+1)
if(a==1) printf("please input");
if(a==2) printf("fied number");
else if(a==3) printf("in process of use") ;
else if(a==0) printf("thank use");
else if(a>3) printf("wrong\n");
getch();
}
调试通过,但不知符合题意思吗?
搜索更多相关主题的帖子: 语句 选择 
2007-06-11 22:35
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

有太大的弊端。for(b=0;b!=a;b=b+1)如果b=0时,你a输入为1,你试下,会有什么结果。
补充下,我说错了,是你输入的数据不等于b时就退出循环。不是不符合你的本意了?

[此贴子已经被作者于2007-6-11 23:04:27编辑过]


深山苦学C语言,终年不见外面世界。
2007-06-11 22:58
碰碰儿
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-17
收藏
得分:0 

不是的,当b!=a,输入的数据不等于b时就循环下去,而不是退出循环!!例如:输入6,第一个循环b=0,那么a就不等于b为真,就要循环下去!

2007-06-11 23:26
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

这弊端还是太大,你还不如给定一个超大的循环次数数据,在程序里面加个if(a==0) break;或者return 0;这样还来的直接,没有太大弊端,小程序还是适用。
当你输入a=1时,你真的还能继续循环,所以说这弊端就是输入数字之前还要自己来考虑要怎样a!=b,很麻烦的。


深山苦学C语言,终年不见外面世界。
2007-06-11 23:33
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

我给出的程序,你看下,行不?

#include<stdio.h>
main()
{
int a,b;
printf("\n Z C D\n 1.INPUT STUDY\n 2.FIDE STUDY\n 3.PRINTRT STUDY\n 0.EXIT ");
printf("\n CHOOSE 1-3:");
for(b=1;b>0;++b){
scanf("%d",&a);
if(a==1) printf("please input");
if(a==2) printf("fied number");
else if(a==3) printf("in process of use") ;
else if(a==0) printf("thank use");
else if(a>3) printf("wrong\n");
else if(a==-1) break;}
getch();
return 0;
}


深山苦学C语言,终年不见外面世界。
2007-06-11 23:40
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 

else if(a==-1) break;}

要这样才跳出?

输入了 a 后、输出,就跳出来了,这样行不行啊?


论坛是我家灌水靠大家
2007-06-11 23:46
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
我这个只要你不是输入数字之外的数据不会跳出吧?当然还有很多办法,我很菜!

深山苦学C语言,终年不见外面世界。
2007-06-11 23:49
碰碰儿
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-17
收藏
得分:0 
刚刚调试过了,跳不出来
2007-06-11 23:51
碰碰儿
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-17
收藏
得分:0 
其实我又调试了一下我做的,没有问题!"当你输入a=1时,你真的还能继续循环,所以说这弊端就是输入数字之前还要自己来考虑要怎样a!=b,很麻烦的",我不是很懂你的意思!
2007-06-11 23:59
碰碰儿
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-17
收藏
得分:0 
"这弊端就是输入数字之前还要自己来考虑要怎样a!=b",这句话......
2007-06-12 00:01
快速回复:[讨论]一道用循环语句做的选择题
数据加载中...
 
   



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

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