设计C语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 15:13:03
设计一个二维数组
用来保存10个同学的四门课的成绩,要求:
1、能找到某个同学的各门课的程中的最好成绩所属的的课程
2、能找到某课程成绩最好的同学在数组中是第几个
3、求出各门课程的平均成绩
4、按每个同学的总成绩进行排名

因为我程序中用了中文,你最好能在中文DOS下编译运行,那样能看清。
1和2 的查找要求我用了随机查找,你可改成要用户输入查找,很容易的。
程序中没有用指针,唯一可能让你感到困惑的可能是在排名功能中的memcpy()函数,我是为了方便才用这个的,你完全可以把t[M]的四个一个个通过中间变量置换。
支我空间看下运行结果
http://hi.baidu.com/ryw12403/blog/item/294fe0f709e2ce25730eec41.html

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 10
#define M 4
char course[N][10]={"english","math","chinese","it"};

void find1(int s[N][M],int n){
int i,j,max=0;
for(i=0;i<M;i++){
if(s[n-1][i]>max){
max=s[n-1][i];
j=i;
}
}
printf("\n第%d个同学4门课程中的最好成绩所属的课程是%s.",n,course[j]);
}

void find2(int s[N][M],int n){
int i,j,max=0;
for(i=0;i<N;i++){
if(s[i][n]>max){
max=s[i][n];