用C语言编写函数,在主函数中输入N个人的某门课程的成绩,分别用函数求 平均值 最高分 最低分
#include<stdio.h>
#define N 10 //N可有自己确定!
float aver(float a[]){
int i;float sum=0;
for(i=0;i<N;i++)
sum+=a[i];
return sum/N;
}
float Max(float a[]){
int i;float max=0;
for(i=0;i<N;i++)
if(max<a[i])
max=a[i];
return max;
}
float Min(float a[]){
int i;float min=a[0];
for(i=0;i<N;i++)
if(min>a[i])
min=a[i];
return min;
}
int main(){
float deg[N];
printf("输入该门课程的成绩: \n");
for(int i=0;i<N;i++)
scanf("%f",°[i]);
printf("该门课程的平均值为: %0.2f\n",aver(deg));
printf("该门课程的最高分为: %0.2f\n",Max(deg));
printf("该门课程的最低分为: %0.2f\n",Min(deg));
return 0;
}
扩展资料:
主函数的两个形参形式中的形参,允许从执行环境中传递任意的多字节字符串(它们通常被称为命令行参数),各个指针 argv[1] .. argv[argc-1] 指向每个这些字符串的第一个字符。argv[0] 是指向一个表示用于执行该程序自身的名字的空结尾多字节字符串(或者当执行环境不支持时,为空字符串 "")的开头字符的指针。
这些字符串是可以改动的,虽然对它们的改动并不会被传回给执行环境:比如可以用 std::strtok 来使用它们。
参考资料来源:百度百科-main函数
#define N 10 //N可有自己确定!
float aver(float a[]){
int i;float sum=0;
for(i=0;i<N;i++)
sum+=a[i];
return sum/N;
}
float Max(float a[]){
int i;float max=0;
for(i=0;i<N;i++)
if(max<a[i])
max=a[i];
return max;
}
float Min(float a[]){
int i;float min=a[0];
for(i=0;i<N;i++)
if(min>a[i])
min=a[i];
return min;
}
int main(){
float deg[N];
printf("输入该门课程的成绩: \n");
for(int i=0;i<N;i++)
scanf("%f",°[i]);
printf("该门课程的平均值为: %0.2f\n",aver(deg));
printf("该门课程的最高分为: %0.2f\n",Max(deg));
printf("该门课程的最低分为: %0.2f\n",Min(deg));
return 0;
}
#include<stdlib.h>
int main(void)
{
int i,n;
int *p;
double ev(int *p,int n);
int max(int *p,int n);
int min(int *p,int n);
printf("enter n \n");
scanf("%d",&n);
p=(int *)calloc(n,sizeof(int));//动态分配内存
printf("enter grade:\n");
for(i=0;i<n;i++)
scanf("%d",p+i);
printf("average=%f;\n max=%d;\n min=%d;\n",ev(p,n),max(p,n),min(p,n));
return 0;
}
double ev(int *p,int n)//计算平均值
{
int i;
double sum=0;
for(i=0;i<n;i++) sum=sum+*(p+i);
return sum/n;
}
int max(int *p,int n)//计算最大值
{
int max;
int i;
max=*p;
for(i=0;i<n;i++)
if(*(p+i)>max) max=*(p+i);
return max;
}
int min(int *p,int n)//计算最小值
{
int min;
int i;
min=*p;
for(i=0;i<n;i++)
if(*(p+i)<min) min=*(p+i);
return min;
}