浦东大道什么时候修好:一个关于C语言的问题?

来源:百度文库 编辑:高考问答 时间:2024/05/14 16:24:30
设计一个算法,完成将一个百分制的成绩转化为等级制(如90到100定为A)

#include <stdio.h>
void main()
{
int i;
char p;
printf("Please Enter Integers : \n");
scanf("%d",&i);
switch(i/10)
{
case 10:
c='A';
break;
case 9:
c='A';
break;
case 8:
c='B';
break;
case 7:
c='C';
break;
case 6:
c='D';
break;
case 5:
c='E';
break;
case 4:
c='F';
break;
case 3:
c='G';
break;
case 2:
c='H';
break;
case 1:
c='I';
break;
case 0:
c='J';
break;
}

printf("Residual is %c",p);
printf("\n");
}

#include"stdio.h"
main()
{
int number,i;char c;
scanf("%d",&number);
if(number<0)
exit(0);//输入的数小于0就退出
else
i=number/10;
switch(i)
{
case 10:
case 9:
c='A';break;
case 8:
c='B';break;
case 7:
c='C';break;
case 6:
c='D';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
c='E';break;
}
printf("%c",c);
}

成绩的分数应该为实型,所以完整一点的话应该定义为实型,再用强制转换.
#include"stdio.h"
main()
{
int i;char c;float score;
scanf("%f",&score);
i=(int)(score)/10;
if(i<6)
i=5;/*这样可以少写一些case语句,比如4,3,2,1,0就可以省掉*/
switch(i)
{
case 10:
case 9:
c='A';break;
case 8:
c='B';break;
case 7:
c='C';break;
case 6:
c='D';break;
case 5:
c='E';break;
}
printf("%c",c);
}

随便找到一本c语言基础书,找到讲switch那一章,基本都有这个例子

用条件嵌套来完成比较好
比如成绩90以上用A 60-90 B 60以下C
main()
{
int score;
char grade;
printf("\Input score: \n");
scanf("%d",&n);
grade=score>90?'A':(score>60?'B':'C');
printf("grade=%c\n",grade);
}

用switch case