输入20个数,存放到数组中,求出他们的平均值并输出,输出最大值、最小值及下标。
function avgfunction(int* n,int length){
int i=0,sum=0,max=0,min=0,maxflag=0,minflag=0;
float avg;
for (i=0;i<length;i++){
sum +=n[i];
if (min>n[i]){
min = n[i];
minflag = i;
}
if (max < n[i]){
max = n[i];
maxflag = i;
}
}
float result[3];
result[0] = minflag*1.0;//最小值对应的下标
result[1] = maxflag*1.0;//最小大值对应的下标
result[2] = sum/length;//平均值
return result;
}
void main(){
int n[20];
int i=0,j=0,find=0,findflag = 0;
for( i=0;i<20;i++){
scanf("%d",&n[i]);
}
float value[3] = avgfunction(n,sizeof(n) / sizeof(n[0]));
}
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <string>
#include <cstring>
#include <vector>
#include <stack>
#include <list>
#include <limits.h>
using namespace std;
int main()
{
int n = 20, maxn = INT_MIN, maxn = INT_MAX, num_PJ = 0, sum = 0, num, max_i, min_i;
for (int i = 1; i <= n; i++)
{
cin >> num;
sum += num;
//maxn = max (maxn, num); 这里不能这样写,保存不了下标
if (num > maxn)
{
maxn = num;
max_i = i;
}
//minn = min (minn, num);
if (num < minn)
{
minn = num;
min_i = i;
}
}
num_PJ = sum / n;
printf ("平均值:%d/n最大值:%d 最大值所在位置:%d\n最小值:%d 最小值所在位置:%d\n", num_PJ, maxn, max_i, minn, min_i);
return 0;
}