从考试成绩中划出及格线
2014-03-21 20:43
120 查看
/****************************************************************** 个学生考完期末试评卷成后,老师需要划出及格线,求如下: (1)及格线是 10 的倍数 (2)保证至少有60%的学生及格; (3)如果所有的学生都高于60分,则及格线为 60 分 输入10个整数:取值0~100 输出及格分数线,10的倍数 **********************************************************************/ #include<stdio.h> #include<stdlib.h> int comp(const void* a, const void* b) { return *((int*)a) - *((int*)b); } int makesurePassLine(int* arr, int length) { if(arr ==NULL || length<=0) return -1; int result = -1; qsort(arr,10,sizeof(int),comp); for(int i=0; i<length; ++i) { printf("%d\t",arr[i]); } if(arr[0] > 60) result = 60; else if(arr[4]%10 == 0) result = arr[4]; else result = arr[4]/10*10; return result; } void test() { const int length = 10; int arr[10] ={61,51,49,30,20,10,70,80,90,99}; int passLine = makesurePassLine(arr,length); printf("%d\n",passLine); } void test1() { const int length = 10; int arr[10] ={61,70,89,70,80,90,80,80,90,99}; int passLine = makesurePassLine(arr,length); printf("%d\n",passLine); } int main() { test(); test1(); return 0; }不足之处:改变了原来的输入数组,可通过辅助数组解决这个问题。
相关文章推荐
- 华为机试—从考试成绩中划出及格线
- 华为机试—从考试成绩中划出及格线
- 华为南京研究所机考练习-从考试成绩中划出及格线
- 华为机试-从考试成绩中划出及格线
- 初级题:从考试成绩中划出及格线
- 编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃
- 5 试写函数判断考试得分:60分-80分打印"成绩及格,再接再励!"、80分-95分打印"成绩优秀,争取优秀!"、95分-100分打印"相当不错,可以听听音乐了!"、少于60分打印"少壮不努力,老大徒伤悲!"
- 编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。
- 从考试成绩划及格线
- 编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。
- 在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序
- 孩子期末考试成绩
- 对学员成绩表进行查询,查询任意两科及格的学员数量
- 统计考试成绩
- 2016年全国硕士研究生招生考试考生进入复试的初试成绩基本要求
- 【practice】编写一个 JAVA 程序,实现输出考试成绩的前三名
- 利用pandas统计考试成绩,flask作为界面
- 2008年上半年考试成绩
- 考试成绩让人不爽
- 编写功能要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分 ,D等为 60分以下 。成绩的等级由键盘输入。