为什么这个程序不能跳出循环啊,明天就要交作业,求解啊。。

#include<iostream>
using namespace std;
int main()
{
char a[50];
int i,j;
for(i=0;i<49;i++)
{
cin>>a[i];
if(a[i]=='\n') break;
}
for(j=0;j<i;j++)
{
if(a[j]>='0'&&a[j]<'60') cout<<"E"<<endl;
else if(a[j]>='60'&&a[j]<'70') cout<<"D"<<endl;
else if(a[j]>='70'&&a[j]<'80') cout<<"C"<<endl;
else if(a[j]>='80'&&a[j]<'90') cout<<" B"<<endl;
else if(a[j]>='90'&&a[j]<='100') cout<<"A"<<endl;
else cout<<"socre is error"<<endl;
}
return 0;
}

c++一般不用c的printf,
for(i=0;i<49;i++)
{
cin>>a[i];
if(a[i]=='\n') break;
}
有问题,\n你没法输,可以用ctrl+z中止输入,或换个标识符,不如说q追问

如果我想当输入回车时跳出循环,但是因为题目要求输入2个字符以上,不能用getchar了,那还有什么办法?

追答

没看懂你说的什么意思,没法再输入会车时跳出循环吧,先ctrl+z,再回车可以,getchar是c语言的吧,你把题目给我看看

追问

输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
大概题目,我的思路是连续输入多个成绩,以空格间开,当我输入回车时,就可以一次性把所有的成绩的等级输出来。麻烦你了

追答

#include
using namespace std;
int main()
{
int a[50];
int i,j;
for(i=0;i>a[i];
if(a[i]==-1)//输入-1终止程序
break;
}
for(j=0;j=0&&a[j]=60&&a[j]=70&&a[j]=80&&a[j]=90&&a[j]<=100)
cout<<"A"<<endl;
else
cout<<"wrong grade! "<<endl;
}
return 0;
}
昨晚断电了,分数不应该用char类型存储,应该换成int

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-30
cin从输入流中提取数据是提取enter键以前的数据,所以不会提取到'\n',你把cin那行改为scanf("%c",&a[i]);就可以了。追问

scanf("%c",&a[i]); 我是小白,请问这个是代表什么啊?

追答

这个是C语言当中的输入函数,C++中依然保留了这个输入方式。

本回答被网友采纳
第2个回答  2012-12-01
不可能跳不出循环!
你把 char a[50]改成int a[50];再把所有类似'90'这样的数的两边的单引号'去掉就OK!

为什么这个程序不能跳出循环啊,明天就要交作业,求解啊。。
有问题,\\n你没法输,可以用ctrl+z中止输入,或换个标识符,不如说q

求解我的这个C程序怎么不能给输出排序啊?
为什么不能排序呢?是因为你的冒泡排序弄错了。先说问题:1:你每个函数里面都有一个参数int len,实际上在子函数里面都没有用到,而用到的是全局变量M,所以len这个变量可以去掉。2:你为了让程序暂停一下,你使用了一个很大的空循环。你可以用sleep(2000)函数来代替,2000代表2000ms,可以更改这个...

好困惑啊,学习这东西真烦
他们的学习不需要别人的逼迫,自觉的态度常使他们能取得好的成绩,而好的成绩又使他们对学习产生更浓的兴趣,形成学习中的良性循环。 三、第三层为会学 学习本身也是一门学问,有科学的方法,有需要遵循的规律。按照正确的方法学习,学习效率就高,学的轻松,思维也变的灵活流畅,能够很好地驾御知识。真正成为知识的主人。

lim(t→0) (te^t)\/(1-e^t) 跪求解啊,,,明天要交作业
= - 1

为什么这个程序的结果是3,我觉得应该是0啊。。。
for循环,第一次是赋值,循环体。然后才是递增条件,加判断条件。进一步决定是不是执行循环体。一定会先来一次。

作业里的数学难题,明日要交。求解啊~~~
圆的面积等于派r的平方 r等于12除以2,等于6。圆的面积等于派乘以6的平方,等于36乘以3.14,等于113.04

在matlab源程序中如何直接跳过某些语句执行下面的语句啊?用什么...
为什么要跳过?一般都是用if进行选择,如果想跳出循环就要用break,跳出每一步循环后面的部分进入下一次循环要用continue。matlab没有goto。即使是C,goto也是不被推荐的。标准的顺序程序结构是完全可以避免goto的。哦,原来是这个意思啊。想跳过的那些行,全部选上,然后按ctrl+r.就全部注释掉了,颜色变...

我的这个程序中总是说越界了是怎么回事,求解啊,我是新手
basic的数组下标是0,循环式应该是 for j=0 to c-1

...不能为read。要终止程序。这个是什么意思,大神求解啊。
你好 这种情况,一般都是由 系统软件、内存、引起的。1 电脑不心装上了恶意软件,或上网时产生了恶意程序,建议用360 卫士 、金山卫士等软件,清理垃圾,查杀恶意软件,完成后重启电脑,就可能解决。实在不行,重装,还原过系统,可以解决软件引起的问题。2 如果只是运行个别软件或游戏偶尔出现的,重启...

电脑突然跳出来这个界面,求解怎么办啊
0x000000C2:BAD_POOL_CALLER ◆错误分析:一个内核层的进程或驱动程序错误地试图进入内存操作. 通常是驱动程序或存在BUG的软件造成的.出现这种情况一般是软件造成的,你可以看一下有没有最新的安装了什么驱动或者软件。如果有卸载掉试试看。如果实在不行,就重装系统。

相似回答
大家正在搜