提高第36课时,实践2,项目2-多科成绩单
2015-05-26 20:33
246 查看
/* *Copyright(c) 2015/5/26 CSDN博客 *All rights reserved. *文件名称:main.c *作 者:金叶 *完成日期:2015/5/26 *版本号:V1.0 *问题描述:【项目2-多科成绩单】 *某班不超过100名同学。用二维数组score[][4]保存同学们的高数、英语、C语言成绩及总成绩(在此假设学生的学号为整型的连续值,用数组的行下标作学号)。 在此基础上,完成下面的操作: (1)输入学生的实际人数num,在输入各科的成绩时,输入3科成绩后可以自动求出总分,并将数据全保存到数组中; (2)输出各门课及总分的最高成绩、最低成绩、平均成绩。 */ #include <stdio.h> void input(double s[][4],int n); //输入成绩 void output(double s[][4],int n); //输出成绩 double max(double s[][4],int n,int i); //求第i门课的最高成绩,i=3时是总分 double min(double s[][4],int n,int i); //求第i门课的最低成绩 double avg(double s[][4],int n,int i); //求第i门课的平均成绩 int main() { int i,num; double score[100][4]; //设一个班最多100人,实际按输入来 char course[4][10]= {"高等数学","英语","C++","总分"}; printf("输入学生人数:"); scanf("%d", &num); //(1)输入成绩并求出总分 input(score,num); //(2)输出成绩 output(score,num); //(3)输出各门课及总分的最高成绩、最低成绩、平均成绩和成绩的标准偏差; for(i=0; i<4; ++i) { printf("%s的最高成绩是%.2f, ", course[i], max(score,num,i)); printf("最低成绩是%.2f, ", min(score,num,i)); printf("平均成绩是%.2f ", avg(score,num,i)); printf("\n"); } return 0; } void input(double s[][4],int n) { printf("输入学生成绩(按高数、英语、C++的顺序依次输入:)\n"); int i; for(i=0; i<n; i++) { scanf("%lf %lf %lf", &s[i][0], &s[i][1], &s[i][2]); s[i][3]=s[i][0]+s[i][1]+s[i][2]; } } void output(double s[][4],int n) { printf("输入的学生成绩为:\n"); printf("学号\t高数\t英语\tC++\t总分\n"); int i; for(i=0; i<n; i++) { printf("%d\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n", i, s[i][0], s[i][1], s[i][2], s[i][3]); } } double max(double s[][4],int n,int i) { double max=s[0][i]; int j; for (j=1;j<n;j++){ if (max<s[j][i]) max=s[j][i]; } return max; } double min(double s[][4],int n,int i) { double min=s[0][i]; int j; for (j=1;j<n;j++){ if (min>s[j][i]) min=s[j][i]; } return min; } double avg(double s[][4],int n,int i) { int j; double sum=s[0][i]; double avg; for (j=0;j<n;j++){ sum+=s[j][i]; } return avg=sum/n; }
相关文章推荐
- 提高第37课时,实践1,项目1-带姓名的成绩单
- 提高第36课时,实践3,项目3-各种“棋盘”
- 提高第39课时,实践1,项目1-学生人数没个准
- 提高第27课时,实践3,项目3-数组的排序
- 提高第31课时,实践1,项目1-M$pszi$y是嘛意思?
- 提高第39课时,实践2,项目2-动态数组排序
- 提高第26课时,实践2,项目2 - 删除数组元素
- 提高第24课时,实践1,项目1-翻转数组
- 提高第21课时,实践1,项目1-有几个
- 提高第34课时,实践1,【项目1-二维数组当函数参数】
- 提高第26课时,实践1,项目1-有序数组中插入数据(函数版)
- 提高第38课时,实践2,项目2 - 带行号显示文件
- 提高第31课时,实践3,项目3-字符串复制
- 提高第38课时,实践3,项目3 - 命令行加法器
- 提高第39课时,实践3,项目3-为动态数组扩容
- 提高第37课时,实践2,电子词典
- 提高第18课时,实践3,当年第几天(数组方案)
- 提高第18课时,实践5,发奖金
- 第14周上机实践项目3——多科成绩单(3)
- 提高第27课时,实践4,查找成绩