案例项目要求
一个班进行了一次考试,教师打的是百分制成绩,现在学校要求打五级制,即90~100分的转变为A,80~89的转变为B,70~79的转变为C,60~69的转变为D,60以下的转变为E。
进行项目分析
要完成对成绩的转换输出,第一步必须要对输入的成绩是否合法作一个判断,因为是百分制,所以0-100分都是合法的,此范围外输入的成绩是有问题的;第二步对输入的合法成绩转换成相应的等级。因此,将这个项目分解成二个任务来完成。任务一是输入学生成绩,判断其合法性;任务二是输入学生成绩转化为等级。
输入一个学生的成绩,若是合法成绩,则输出相应的等级,否则输出不合法的提示信息。
方法一:首先判断输入的成绩是否合法,不合法的话,输出“输入的成绩不合法”的提示信息;合法的话再判断成绩是否在90分到100分之间,是的话,将变量y赋好相应的值;同样再判断成绩是否在80分到90分之间,是的话,将变量y赋好相应的值等等。
include "stdio.h"
main()
{float x; char y;
printf("请输入1-100内的一个成绩");
scanf("%f",&x);
if( x>=0 && x<=100 )
{if(x>=90 && x<=100) y='A';
if(x>=80 && x<90) y='B'; if(x>=70 && x<80) y='C'; if(x>=60 && x<70) y='D'; if(x>=0 && x<60) y='E';
printf("该学生的等级为%c\n",y);}
else printf("输入的学生成绩不合法\n");}
方法二:首先判断输入的成绩是否合法,不合法的话,输出“输入的成绩不合法”的提示信息;合法的话再判断成绩是否大于等于90分,若是的话,将变量y赋好相应的值;否则再判断成绩是否大于等于80分,是的话,将变量y赋好相应的值;否则再判断成绩是否大于等于70分,是的话,将变量y赋好相应的值等等。
include "stdio.h"
main()
{ float x;
char y;
printf("请输入1-100内的一个成绩");
scanf("%f",&x);
if(x<=100&&x>= 0)
{if(x>=90) y='A';
else if(x>=80) y='B';
else if(x>=70) y='C';
else if(x>=60) y='D';
else y='E';
printf("该学生的等级为%c\n",y);}
else printf("输入的学生成绩不合法\n");
}