1、项目二 输入学生成绩转化为等级 项目要求一个班进行了一次考试,教师打的是百分制成绩,现在学校要求打五级制,即 90100 分的转变为 A, 8089 的转变为 B, 7079的转变为 C,6069的转变为 D, 60以下的转变为 E。项目分析要完成对成绩的转换输出,第一步必须要对输入的成绩是否合法作一个判断,因为是百分制,所以 0-100分都是合法的,此范围外输入的成绩是有问题的;第二步对输入的合法成绩转换成相应的等级。因此,将这个项目分解成二个任务来完成。任务一是输入学生成绩,判断其合法性;任务二是输入学生成绩转化为等级。任务 1 输入学生成绩,判断其合法性一、问题情景输入一个学生的成绩,判
2、断它是否合法(成绩采用百分制)。分析:程序流程图: 方法一: 首先判断输入的成绩是否在 1到 100之间,是的话输出提示信息 “输入成绩合法 ”;再判断输入的成绩是否在 0到 100以外,是的话输出提示信息 “输入的成绩不合法 ”。二、具体实现方法一: 参考程序:#include “stdio.h“main() float x;printf(“请输入一个学生成绩 “);scanf(“%f“,if(x=0 二、具体实现方法二:参考程序:#include “stdio.h“main() float x;printf(“请输入一个学生成绩 “);scanf(“%f“,if(x=0后 c的值为 5,因
3、为 ab不成立,则表达式的值为 0,不执行后面的语句 c=a,所以 c的值不变,还是为 5;2)执行语句 if(ab) t=a;a=b;b=t;后 a的值为 3, b的值为 4;4)执行语句 if(ab)c=a; else c=b;后 c的值为 4。执行语句if(ab)min=b;if(minc)min=c;printf(“%d,%d,%d中最小的数为%dn“,a,b,c,min);【 例 2-1】 输入任意三个整数 a、 b、 c,输出其中最小的数。方法二:分析:我们首先将 a、 b两个数进行比较,把两者中最小的数放到 a中,然后用两者中最小的数 a跟 c进行比较,同样的把两者中最小的数放到 a中,最后 a中的值就是三者中最小的值。参考程序:#include “stdio.h“main( ) int a,b,c,t;printf(“请输入三个数 “);scanf(“%d,%d,%d“,if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;printf(“%d,%d,%d中最小的数为%d“,a,b,c,a);