程序设计基础(C&C++) 戴波、张东祥 第六章 函数 编程作业
2016-12-09 00:17
633 查看
1函数实现学生管理系统(100分)
题目内容:
使用函数编写学生管理系统其中学生的信息有姓名(汉语拼音,最多20个字符),性别(男/女,用1表示男,0表示女)、
生日(19850101(年月日))、身高(以m为单位),还需要处理C语言、微积分两门课的成绩
请分别编写以下函数实现功能:
输入学生的人数和每个学生的信息;
统计每门课程的总平均成绩、最高分和最低分,以及获得最高分的学生的信息。
输出统计信息.
需要注意的是某门课程最高分的学生可能不只一人。
输入输出格式要求:
身高输出时保留两位小数,请按照例子中进行输出,请勿输出其他字符
例如:
输入:
3 zhangsan 1 19910101 1.85 85 90 lisi 1 19920202 1.56 89 88 wangwu 2 19910303 1.6 89 90输出:
C_average:87C_max:89
lisi 1 19920202 1.56 89 88
wangwu 2 19910303 1.60 89 90
C_min:85
Calculus_average:89
Calculus_max:90
zhangsan 1 19910101 1.85 85 90
wangwu 2 19910303 1.60 89 90
Calculus_min:88
参考代码
#include <stdio.h> #include <string.h> struct Node{ char name[25]; int f; char str[10]; double h; int l,r; }P[100]; int main(){ int n; scanf("%d",&n); int C_max=0,C_min=100,C_sum=0; int Ca_max=0,Ca_min=100,Ca_sum=0; for (int i=0;i<n;i++){ scanf("%s %d %s %lf %d %d",P[i].name,&P[i].f,P[i].str,&P[i].h,&P[i].l,&P[i].r); if (P[i].l>C_max) C_max=P[i].l; if (P[i].l<C_min) C_min=P[i].l; if (P[i].r>Ca_max) Ca_max=P[i].r; if (P[i].r<Ca_min) Ca_min=P[i].r; C_sum+=P[i].l; Ca_sum+=P[i].r; } printf("C_average:%d\n",C_sum/n); printf("C_max:%d\n",C_max); for (int i=0;i<n;i++){ if (P[i].l==C_max){ printf("%s %d %s %.2f %d %d\n",P[i].name,P[i].f,P[i].str,P[i].h,P[i].l,P[i].r); } } printf("C_min:%d\n",C_min); printf("Calculus_average:%d\n",Ca_sum/n); printf("Calculus_max:%d\n",Ca_max); for (int i=0;i<n;i++){ if (P[i].r==Ca_max){ printf("%s %d %s %.2f %d %d\n",P[i].name,P[i].f,P[i].str,P[i].h,P[i].l,P[i].r); } } printf("Calculus_min:%d\n",Ca_min); return 0; }
相关文章推荐
- 程序设计入门——C语言 翁恺 第8周编程练习
- c++里面的值传递,指针传递,地址传递详解
- C++读写二进制文件
- C/C++程序减小可执行文件的大小
- C语言函数
- C++内存泄露检查的5个方法
- C++的栈与队列
- acm A+B Problem(V)
- 用C语言socket RAW功能实现同一台主机两个网口间数据收发
- VC++的Unicode编程
- C语言读入全都的文件内容2
- Unit02: 重载与缺省参数 、 内联与动态内存分配 、 引用 、 显式类型转换 、 类和对象
- UVA1225数数字
- C++实现半透明按钮控件(PNG,GDI+)
- UVA-227 Puzzle
- C语言中字符串和字符数组的区别
- 2016年12月8日学习总结----C语言函数传参
- C语言实现顺序表
- 郝斌的C语言基础 137 一个指针变量到底占几个字节
- Java 与 C++ 的缠绵瓜葛(语言对比)