第十六周 项目2---学生成绩处理
来源:互联网 发布:vs2015 js智能提示 编辑:程序博客网 时间:2024/04/27 21:28
Copyright (c) 2016,
烟台大学计算机与控制学院 All ringts reserved.
文件名称:项目一---复数结构体
作 者:王兴振
完成日期:2016年12月16日
版 本 号:未知
题目描述:
(1)定义学生结构体,在结构体数组中,输入了学生学号和两门课的成绩,计算均分后,输出成绩单,请在下面的程序基础上,将程序补充完整。
#include <stdio.h>#define N 100 /*N表示最多允许的学生人数*/struct Student{ int num; //学号 int c; //C语言成绩 int math; //数学成绩 float aver; //两科均分};int main( ){ int n; //定义结构体数组存放多名同学的成绩 struct Student stu[N]; printf("请输入学生人数: "); scanf("%d", &n); printf("请输入学号、C和数学课的成绩: \n"); //输入数据 //输出成绩单 return 0;}
(2)请在上面的程序的基础上增加功能,使运行结果如下图:
其中,需要做出的改动是:
- 计算每名学生的学分绩——各科成绩乘以学分的和,再除以总学分(本题中,C语言和数学课的学分分别是3和4);
- 计算各科的均分;
- 输出得奖学金的同学学号清单——奖学金规则是,学分绩要高于80且没有挂科。
答 案(1):
#include <stdio.h>#define N 100 /*N表示最多允许的学生人数*/struct Student{ int num; //学号 int c; //C语言成绩 int math; //数学成绩 float aver; //两科均分};int main( ){ int n,i,j=0; //定义结构体数组存放多名同学的成绩 struct Student stu[N]; printf("请输入学生人数: "); scanf("%d", &n); printf("请输入学号、C和数学课的成绩: \n"); //输入数据 for(i=0;i<n;i++) { scanf("%d %d %d", &stu[i].num,&stu[i].c,&stu[i].math); stu[i].aver=(stu[i].c+stu[i].math)/2.0; } //输出成绩单 printf("成绩单:\n学号\tc语言\t数学\t均分\t\n"); for(i=0;i<n;i++) { printf("%d\t%d\t%d\t%.2f\t\n", stu[i].num,stu[i].c,stu[i].math,stu[i].aver); if(stu[i].c>60 && stu[i].math>60) j++; } printf("两门课都及格了的有%d人", j); return 0;}
答 案(2):
#include <stdio.h>#define N 100 /*N表示最多允许的学生人数*/struct Student{ int num; //学号 int c; //C语言成绩 int math; //数学成绩 float a; //学分绩};int main( ){ int n,i,j=0,c=0,m=0; //定义结构体数组存放多名同学的成绩 struct Student stu[N]; printf("请输入学生人数: "); scanf("%d", &n); printf("请输入学号、C和数学课的成绩: \n"); //输入数据 for(i=0;i<n;i++) { scanf("%d %d %d", &stu[i].num,&stu[i].c,&stu[i].math); stu[i].a=(stu[i].c*3+stu[i].math*4)/7.0; c+=stu[i].c; m+=stu[i].math; } //输出成绩单 printf("成绩单:\n学号\tc语言\t数学\t学分绩\t\n"); for(i=0;i<n;i++) { printf("%d\t%d\t%d\t%.2f\t\n", stu[i].num,stu[i].c,stu[i].math,stu[i].a); if(stu[i].c>60 && stu[i].math>60 && stu[i].a>80) { j++; stu[n+j].num=stu[i].num; } } printf("科均分:%d\t%d\t\n", c/n,m/n); printf("得到奖学金的同学学号是:\n"); for(i=1;i<=j;i++) printf("%d ", stu[n+i].num); return 0;}
1 0
- 第十六周 项目2---学生成绩处理
- 第十六周项目二学生成绩处理
- 第十六周项目--学生成绩处理
- 第十六周实践项目2学生成绩处理(2)
- 第十六周 项目2:学生成绩处理(2)
- 第十六周 项目2: 学生成绩处理(1)
- 第十六周实践项目2学生成绩处理(1)
- 第十六周项目—学生成绩处理2
- 第十六周项目二学生成绩处理2
- 第十六周-学生成绩处理2
- 第十六周项目1- 用二进制文件处理学生成绩
- 第十六周项目 用二进制文件处理学生成绩
- 第十六周项目—学生成绩处理1
- 第十六周项目二(1)学生成绩处理
- 第十六周项目二学生成绩的处理
- 第十六周--用二进制文件处理学生成绩
- 第十六周-学生成绩处理1
- 【项目2-学生成绩处理】
- ios开发--RunLoop的应用场景(四)
- 随记
- Java NIO教程 MappedByteBuffer
- 记录常忘记的Linux命令
- leetcode-9-palindrome 顺序表
- 第十六周 项目2---学生成绩处理
- 坚持#第127天~年轻人我们不要找借口!
- 正则表达式——符号含义
- okhttp使用
- ios开发--RunLoop的应用场景(五)
- Shell编程语法之二:echo命令
- this关键字、static关键字、代码块
- 第五章 使用游标
- Struts1和Struts2的区别和对比