📄 函数 随机输入一组n个数,求最大-小值,总和,平均值.cpp
字号:
#include<stdio.h> /**/
#include<stdlib.h> //导入包含随机数函数的头文件
#include<time.h>
double max(double b[],int *p) //定义求最大值函数max(),返回整型值max,形参b[],*p接受实参的地址值
{
double max; int i;
max=b[0];
for(i=1;i<*p;i++)
{
if(b[i]>max){max=b[i];}
}
return max;
}
double min(double b[],int *p) //定义求最小值函数min(),返回整型值min,形参b[],*p接受实参的地址值
{
double min; int i;
min=b[0];
for(i=1;i<*p;i++)
{
if(b[i]<min){min=b[i];}
}
return min;
}
double sum(double b[],int *p) //定义求总和函数sum()
{
double sum=0; int i;
for(i=0;i<*p;i++)
{
sum+=b[i];
}
return sum;
}
double avg(double b[],int *p) //定义求平均值函数avg(),返回实型值zvg,形参b[],*p接受实参的地址值
{
double avg=0.0; int i;
for(i=0;i<*p;i++)
{
avg+=b[i];
}
avg/=*p;
return avg;
}
void main()
{
printf("\n\t输入一组整数(n个,n取值1~100),调用函数求最大值,最小值,平均值\n\n");
while(1)
{
int i,n;
double a[100],*p=a;
printf(" 输入整数个数n(n<=0或n>100时结束): ");
scanf("%d",&n); //输入非数值时死循环?
if(n<=0||n>100){break;}
for(i=0;i<n;i++)
{
*p=-5000+rand()%20000; //产生-5000~15000的随机数给元素赋值
printf(" 输入第%d个数: %.2lf\n",i+1,*p); p++;
}
printf("\t这一组数的最大值=%.2lf\n\t这一组数的最小值=%.2lf\n这一组数的总和= %.2lf\n\t这一组数的平均值=%.4lf\n",max(a,&n),min(a,&n),sum(a,&n),avg(a,&n));
//调用max()函数返回最大值,调用min()函数返回最小值,调用avg()函数返回平均值. 实参a,&n传递地址值赋予形参
printf(" 欲继续输入吗? 是则回车,否则输入'空格'回车 ");
char flag;
getchar();
if((flag=getchar())==' ')break;
else if(flag=='\n'){;}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -