
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
void printGrades(char *course[],char *name[],int grades[][6]);
void bubbleSort(char *name[],int grades[][6]);
void swap(char *name[],int grades[][6],int number);
void searchGrade(char *course[],char *name[],int grades[][6],int score);
int main()
{
char *course[6]={"Chineses","English","Math","Physics","Chemistry","Average"};
char *name[4]={"John","Mary","Joe","Helen"};
int grades[4][6],row,column;
int score;
srand(time(NULL));
for(row=0;row<4;row++)
{
for(column=0;column<5;column++)
{
grades[row][column]=rand()1;
}
grades[row][5]=(grades[row][0]+grades[row][1]+grades[row][2]+grades[row][3]+grades[row][4])/5;
}
printGrades(course,name,grades);
bubbleSort(name,grades);
printGrades(course,name,grades);
printf("分數輸入:");
while(scanf("%d",&score)!=EOF)
{
searchGrade(course,name,grades,score);
printf("分數輸入:");
}
system("pause");
return 0;
}
void printGrades(char *course[],char *name[],int grades[][6])
{
int column,row;
printf("\t ");
for(column=0;column<6;column++)
{
printf("s",course[column]);
}
printf("\n");
for(row=0;row<4;row++)
{
printf("sdddddd\n", name[row],grades[row][0],grades[row][1],grades[row][2],grades[row][3],grades[row][4],grades[row][5]);
}
}
void bubbleSort(char *name[],int grades[][6])
{
int pass,order=0;
for(pass=0;pass<5;pass++)
{
for(order=0;order<3;order++)
{
if(grades[order][5]<grades[order+1][5])
{
swap(name,grades,order);
}
}
}
}
void swap(char *name[],int grades[][6],int number)
{
char *nickname;
int score;
int column;
nickname=name[number];
name[number]=name[number+1];
name[number+1]=nickname;
for(column=0;column<6;column++)
{
score=grades[(number)][column];
grades[number][column]=grades[(number+1)][column];
grades[(number+1)][column]=score;
}
}
void searchGrade(char *course[],char *name[],int grades[][6],int score)
{
int row,column,time=0;
printf("「分數輸入」為%d分,搜尋並列出成績為%d分的學生與科目。\n",score,score);
if(score<0)
{
printf("結果是:輸入錯誤,請重新輸入。\n");
}
else if(score>100)
{
printf("結果是:輸入錯誤,請重新輸入。\n");
}
else
{
for(row=0;row<4;row++)
{
for(column=0;column<6;column++)
{
if(grades[row][column]==score)
{
if(time==0)
{
printf("結果是:");
time++;
}
printf("%s:%s ", name[row],course[column]);
}
}
}
if(time==0)
{
printf("查無此人與此科目。\n");
return;
}
printf("。\n");
}
}
已經改為對的
p.s 有些規定要傳址呼叫