#include <stdio.h>
#include <stdlib.h>
void initscores(int *datas,int size)
{
int i;
for(i=0;i<size;i++)
{
//1.1提示用户输入第多少个数
printf("请输入第%d个分数: ",i+1);//0+1=1
//1.2获取用户的输入scanf
scanf("%d",datas);
if( *datas>100 || *datas<0)
{
printf("没有这种分数\n");
printf("强制退出\n");
system("pause");
exit(-1);
}
datas++;
}
}
void printscores(int *datas,int size)
{
int i;
for(i=0;i<size;i++)
{
//1.4提示用户输入第多少个数
printf("第%d个分数是:%d\n",i+1,*datas++);
}
}
int getMax(int *datas,int size)
{
int i;
int max;
max = *datas;//定义最高分为0
for(i=0;i<10;i++)
{
if(max < *datas)
{
max = *datas;
}
datas++;
}
return max;
}
int getMin(int *datas,int size)
{
int i;
int min;
min=*datas;//定义最低分为0
for(i=0;i<10;i++)
{
if(min > *datas)
{
min = *datas;
}
datas++;
}
return min;
}
float getAverage(int *datas,int size)
{
int i;
int total=0;
float average;
for(i=0;i<10;i++)
{
total += *datas;
}
average=(float)total/10;
return average;
}
void printret(int data1,int data2,float data3)
{
printf("最高分: %d\n 最低分: %d\n 平均分 %f\n",data1, data2, data3);
}
int main()
{
int scores[10];
int len;
int max;
int min;
float average;
len=sizeof(scores)/sizeof(scores[0]);
//1.初始化数组
initscores(scores,len);
//函数调用中,传承就是一个赋值的过程,
//把实际参数的值,给形式参数
//scores传递给datas len传递给size
//1.3打印数组
printscores(scores,len);
//2.找到最高分
max=getMax(scores,len);
//3.找到最低分
min=getMin(scores,len);
//4.算出平均分
average=getAverage(scores,len);
//5.输出结果
printret(max,min,average);
system("pause");
return 0;
}
运行结果
——@上官可编程