一道书上的练习题,请帮我解答一下。谢谢!

gcx 2002-01-30 02:47:34
编写一个完整的程序,运行时向用户提问“你考试考了多少分》(0~100)”,接收输入后判断其等级并显示出来。规则如下:
等级 优(90<=分数<=100)
良(80<=分数<90)
中(60<=分数<80)
差(0<=分数<60)
以下是我写的代码,不知对不对,在VC上编译,总显示有错,请各位给我挑挑毛病。如果我写的不对,请给我写一个正确的。谢谢!

#include<iostream.h>
void main(void)
{
float a;
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if (0<=a<=1000)
{
if (90<=a<=100)
cout<<"优"<<endl;
else if (80<=a<90)
cout<<"良"<<endl;
else if (60<=a<80)
cout<<"中"<<endl;
else if (0<=a<60)
cout<<"差"<<endl;
}
else
{
do
{
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if (90<=a<=100)
cout<<"优"<<endl;
else if (80<=a<90)
out<<"良"<<endl;
else if (60<=a<80)
cout<<"中"<<endl;
else if (0<=a<60)
cout<<"差"<<endl;
}
while (a<0||a>100)
}
}

...全文
205 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
mis98ZB 2002-01-31
  • 打赏
  • 举报
回复
看了你好几个帖子,建议你考虑一下怎么写循环。
mis98ZB 2002-01-31
  • 打赏
  • 举报
回复
哎呀!输出还没写哪!
#include<iostream.h>
void main(void)
{
float a;
while(1){
cout<<"Input your score please(0~100)"<<endl;
cin >> a;
if(a>=0 && a<=100){
if(a>=90) {cout << "优" << endl; break;}
if(a>=80) {cout << "良" << endl; break;}
if(a>=60) {cout << "中" << endl; break;}
else {cout << "差" << endl; break;}
}
else cout << "Impossible score!" << endl;
}
}
mis98ZB 2002-01-31
  • 打赏
  • 举报
回复
#include<iostream.h>
void main(void)
{
float a;
while(1){
cout<<"Input your score please(0~100)"<<endl;
cin >> a;
if(a>=0 && a<=100){
if(a>=90) {cout << "" << endl; break;}
if(a>=80) {cout << "" << endl; break;}
if(a>=60) {cout << "" << endl; break;}
else {cout << "" << endl; break;}
}
else cout << "Impossible score!" << endl;
}
}
王国凡 2002-01-31
  • 打赏
  • 举报
回复
浪费资源
zhshxiang 2002-01-30
  • 打赏
  • 举报
回复
应该用switch!

jicco 2002-01-30
  • 打赏
  • 举报
回复
我赞成楼上的
limiao888 2002-01-30
  • 打赏
  • 举报
回复
我也觉得应该用switch!

rockhard 2002-01-30
  • 打赏
  • 举报
回复
呵呵,这代码...
不过才15岁,我 15岁还什么不会。给个例子,不过我用的是tc3.0

#include<iostream.h>
#include<conio.h>

void main(void)
{
float score;
while(1)
{
cout<<"Input score:";
cin>>score;
if(score>100.||score<0.)
{
cout<<"\nInput Error!"<<endl;
break;
}
if(score>90)
cout<<"大于 90"<<endl;
else if(score>80)
cout<<"80<score<=90"<<endl;
else if (score>70)
cout<<"70<score<=80"<<endl;
else
cout<<"score<=70"<<endl;//其它的就像这样就可以了
}
}
rainsy2000 2002-01-30
  • 打赏
  • 举报
回复
#include<iostream.h>
void main(void)
{
float a;
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if ( (0 <= a)&&(a <= 1000) )
{
if ( (90<=a)&&( a<=100 ) )
cout<<"优"<<endl;
else if ( (80<=a)&&(a<90) )
cout<<"良"<<endl;
else if ((60<=a)&&(a<80))
cout<<"中"<<endl;
else if ((0<=a)&&(a<60))
cout<<"差"<<endl;
}
else
{
do
{
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if ((90<=a)&&(a<=100))
cout<<"优"<<endl;
else if ((80<=a)&&(a<90))
cout<<"良"<<endl;
else if ((60<=a)&&(a<80))
cout<<"中"<<endl;
else if ((0<=a)&&(a<60))
cout<<"差"<<endl;
}
while (a<0||a>100);
}
}
-----------------------
呼唤职业精神,完成体力活
gcx 2002-01-30
  • 打赏
  • 举报
回复
请问“lswoyo(老有所学) ”,我写的代码错了吗?错在哪里?
lswoyo 2002-01-30
  • 打赏
  • 举报
回复
乱写,不会少误人!
gcx 2002-01-30
  • 打赏
  • 举报
回复
#include<iostream.h>

void main(void)
{
float a;
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if (0<=a&&a<=100)
{
if (90<=a&&a<=100)
cout<<"优"<<endl;
else if (80<=a&&a<90)
cout<<"良"<<endl;
else if (60<=a&&a<80)
cout<<"中"<<endl;
else if (0<=a&&a<60)//请问这个if可以不要吗?我觉得要好。
cout<<"差"<<endl;
}
else
{
do
{
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if (90<=a&&a<=100)
cout<<"优"<<endl;
else if (80<=a&&a<90)
cout<<"良"<<endl;
else if (60<=a&&a<80)
cout<<"中"<<endl;
else if (0<=a&&a<60)
cout<<"差"<<endl;
}
while (a<0¦¦a>100);
}
}

gcx 2002-01-30
  • 打赏
  • 举报
回复
按“prove_wj(海怪) ”的代码,编译时虽然没错误,但不能循环,该怎么改呀?
prove_wj 2002-01-30
  • 打赏
  • 举报
回复
#include<iostream.h>

void main(void)
{
float a;
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if (0<=a&&a<=1000)
{
if (90<=a&&a<=100)
cout<<"优"<<endl;
else if (80<=a&&a<90)
cout<<"良"<<endl;
else if (60<=a&&a<80)
cout<<"中"<<endl;
else if (0<=a&&a<60)
cout<<"差"<<endl;
}
else
{
do
{
cout<<"你考试考了多少分?(0~100)"<<endl;
cin>>a;
if (90<=a<=100)
cout<<"优"<<endl;
else if (80<=a&&a<90)
cout<<"良"<<endl;
else if (60<=a&&a<80)
cout<<"中"<<endl;
else if (0<=a&&a<60)
cout<<"差"<<endl;
}
while (a<0||a>100);
}
}
cky2 2002-01-30
  • 打赏
  • 举报
回复
多重条件判断,建议采用switch(。。。) case 增加程序的可读性,相信代码你自己能写,这样进步快
gcx 2002-01-30
  • 打赏
  • 举报
回复
能给我写一下完整的代码吗?
lalatata 2002-01-30
  • 打赏
  • 举报
回复
建议尽可能不用do while循环
hz129 2002-01-30
  • 打赏
  • 举报
回复
if (0<=a<=1000) --> if (i<=a && a<=1000) /* why 1000? */
所有连写的<=都改成用&&连接的两个表达式



phoenixcheng 2002-01-30
  • 打赏
  • 举报
回复
不能写成80<=a<=90之类
跟数学语言不一样的
应该是80<=a&&a<=90
。。。
gcx 2002-01-30
  • 打赏
  • 举报
回复
各位帮我解答一下。谢谢!
加载更多回复(1)

15,446

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧