用一个程序实现10个同学C语言成绩的要求用模块化程序设计的思想,把每个功能都编写成一个独立的函数,即编写4个子函数分别实现:输入,输出,排序(降序),输出最大值!
可以把四个函数的参数设置为int型指针和一个数组的长度,然后在函数中利用循环依次操作存储学生的数组即可实现相应功能,代码如下:
#include <stdio.h>
// 输入
void inputScore(int scores [],int n){
int i;
for(i=0;i<n;i++){
printf("请输入第%d个学生的C语言成绩:",i+1);
scanf("%d",&scores[i]);
}
}
// 输出
void outputScore(int scores[],int n){
int i;
// printf("输入的%d个学生的C语言成绩如下:\n",n);
for(i=0;i<n;i++){
printf("%d ",scores[i]);
}
printf("\n");
}
// 降序排序
void sortScore(int scores[],int n){
int i,j;
int temp;
for(i=0;i<n;i++){
for(j=i;j<n;j++){
if(scores[i]<scores[j]){
temp=scores[i];
scores[i]=scores[j];
scores[j]=temp;
}
}
}
}
//寻找最大值
int findMaxScore(int scores[],int n){
if(n<1){
return -1;
}
int max=scores[0];
int i;
for(i=0;i<n;i++){
if(max<scores[i]){
max=scores[i];
}
}
return max;
}
int main(void){
int scores[10];
inputScore(scores,10);
outputScore(scores,10);
sortScore(scores,10);
printf("排序后的成绩为:\n");
outputScore(scores,10);
int max=findMaxScore(scores,10);
if(max!=-1){
printf("C语言成绩的最高分是%d.\n",max);
}
}