注册 登录
编程论坛 C语言论坛

数组编程

风满楼l 发布于 2021-12-07 16:16, 994 次点击
输入一个一维数组,输出该数组的最大值、最小值和平均值,并给出最大值和最小值的下标
1 回复
#2
do8do8do82021-12-08 08:43
#define M 10; //一维数组的维度
int max=0;   //最大值
int min=0; //最小值
int maxflag=0;//最大值下标
int minflag=0;//最小值下标
int sum=0;//数组求和
int avg=0;//平均值
int i;//用于for循环
int a[M]; //定义数组
for (i=0;i<M;i++)
{
  scanf("%d",&a[i]);//输入一维数组
}
for (i=0;i<M;i++)
{
  if(a[i]>max) { max=a[i]; maxflag=i;} //筛出最大值,并保存最大值下标
  if(a[i]<min) { min=a[i];minflag=i;}//筛出最小值,并保存最小值下标
 sum+=a[i]; //求数组的总和
}
avg=sum/M; //求平均值
printf("max= %d ,min= %d, avg= %d, maxflag= %d ,minflag= %d\n",max,min,avg,maxflag,minflag);//最后输出
1