12.23

12.23学习内容函数体结构嵌套
//一维数组做函数参数
//有一个一维数组的成绩内放10个学生的成绩求平均值
#include<stdio.h>
int main()
{
float average(float array[10]);
float score[10],aver;
int i;
printf(“输入10个日常成绩:\n”);
for(i=0;i<11;i++)
scanf("%f",&score[i]);
printf("\n");
aver=average(score);
printf(“平均成绩为%5.2f\n”,aver);
return 0;
}
float average(float array[10])
{
int i;
float aver,sum=array[0];
for(i=0;i<11;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}
12.23
//有两个班学生人数分别为5,10
#include<stdio.h>
int main()
{
float average(float array[],int n);
float score1[5]={88,99,44,56,12};
float score2[10]={11,22,33,44,55,66,77,88,99,12};
printf(“The average of class A is %6.2f\n”,average(score1,5));
printf(“The average of class B is %6.2f\n”,average(score2,10));
return 0;
}
float average(float array[],int n)
{
int i;
float aver,sum=array[0];
for(i=1;i<n;i++)
sum=sum+array[i];
aver=sum/n;
return(aver);
}
12.23
//函数选择结构
//输入10个大小不等的值进行升序排列
#include<stdio.h>
int main()
{
void sort (int array[],int n);
int a[10],i;
printf(“输入这10个数字的当前排列:\n”);
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf(“请输入排列后的升序数组:\n”);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];
array[k]=array[i];
array[i]=t;
}
}
12.23
#include<stdio.h>
int main()
{
int max_value(int array[][4]);
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
printf(“Max value is %d\n”,max_value(a));
return 0;
}
int max_value(int array[][4])
{
int i,j,max;
max=array[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(array[i][j]>max)max=array[i][j];
return(max);
}
12.23
//函数数组求10个学生中成绩最大值,最小值,及平均值
#include<stdio.h>
float max=0,min=0;
int main()
{
float average(float array[],int n);
float ave,score[10];
int i;
printf(“please enter 10 scores:”);
for(i=0;i<10;i++)
scanf("%f",&score[i]);
ave=average(score,10);
printf(“max=%6.2f\nmin=%6.2f\naverage”,max,min,ave);
return 0;
}
float average(float array[],int n)
{
int i;
float aver,sum=array[0];
max=min=array[0];
for(i=0;i<n;i++)
{
if(array[i]>max)
max=array[i];
else if(array[i]<min)
min=array[i];
sum=sum+array[i];
}
aver=sum/n;
return(aver);
}