新手~~求救
#include <stdio.h>
void main()
{
int a;
scanf( "%d ",&a);
switch(a)
{
case a> 90 :printf( "A ");break;
case a> 80&&a <90 :printf( "B ");break;
case a> 70&&a <80 :printf( "C ");break;
case a> 60&&a <70 :printf( "D ");break;
case a <60 :printf( "E ");break;
default
}
}
我想通过输入成绩判断成绩的等级,但就是实现不了!
[解决办法]
#include <stdio.h>
void main()
{
int a;
char b;
scanf( "%d ",&a);
if(a <0 || a> 100)
{
printf( "invalid input data! ");
return;
}
if(a> 90)
{
b= 'A ';
}
else if(a> 80)
{
b= 'B ';
}
else if(a> 70)
{
b= 'C ';
}
else if(a> 60)
{
b= 'D ';
}
else
{
b= 'E ';
}
switch(b)
{
case 'A ' :printf( "A ");break;
case 'B ' :printf( "B ");break;
case 'C ' :printf( "C ");break;
case 'D ' :printf( "D ");break;
case 'E ' :printf( "E ");break;
default : break;
}
}
改成上面的就可以了,时间比较短,写的不是很规矩!
[解决办法]
#include <stdio.h>
void main()
{
int i=0,a,mark[]={60,70,80,90};
char grade[]={ 'E ', 'D ', 'C ', 'B ', 'A '};
scanf( "%d ",&a);
if(a <0 || a> 100)
{
printf( "invalid input data! "); //错误处理
return;
}
while(a-mark[i]> =0) //判断范围
i++;
printf( "%c\n ",grade[i]); //输出结果
}
顺便把以上代码调试了一下(TC2.0),没问题!
[解决办法]
case a> =90 :printf( "A ");break;
case a> =80 :printf( "B ");break;
case a> =70 :printf( "C ");break;
case a> =60 :printf( "D ");break;
default :printf( "E ");
个人意见认为这就可以了。
[解决办法]
得,大家都懒得整理一下,那我来,呵呵!
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char ** argv)
{
int a=0;
printf( "Please input the score:\n ");
scanf( "%d ",&a);
if(a <0 || a> 100)
{
printf( "invalid input data! ");
exit(-1);
}
a=(int)a/10;
switch(a)
{
case 10 :
case 9 :printf( "A\n ");break;
case 8 :printf( "B\n ");break;
case 7 :printf( "C\n ");break;
case 6 :printf( "D\n ");break;
default :printf( "E\n ");
}
system( "PAUSE ");
return 0;
}