【急】c语言编程题目:输入n个整数,求这n个整数中的最大数,最小数和偶数平均数,并输出。

输入n个整数,求这n个整数中的最大数,最小数和偶数平均数,并输出。
谁能给我直接编好的啊

#include<iostream.h>
#define N 100
void main()
{
void MAX(int *a,int);//求最大数
void MIN(int *a,int);//求最小数
void Ping_Jun_Shu(int *a,int);//求输入n个数中的偶数平均数和
int n,int a[N];//存放输入的n个数
printf("请输入要输入的正数个数n=");
scanf("%d",n);
for(int i=0;i<n;i++)//for循环输入整数
scanf("%d",a[i]);
MAX(a,n);
MIN(a,n);
Ping_Jun_Shu(a,n);
}
void MAX(int *a,int N)
{
int max=0,i=0,t;
for(;i<n;i++)
if(max<=a[i])
max=a[i];
printf("n个整数中的最大数是:%d",max);
printf("\n");
}
void MIN(int *a,int N)
{
int min=0;
for(int i=0;i<N;i++)
{
if(a[i]<=min)
min=a[i];
}
printf("n个整数中的最小数是:%d",min);
printf("\n");
}
void Ping_Jun_Shu(int *a,int N)
{
int pjs,sum=0,n=0,i=0;
for(;i<N;i++)
if(a[i] % 2==0)
{sum=sum+a[i];
n=n+1;}
pjs=sum/n;
printf("偶数平均数是:%d",pjs);
printf("\n");
}

基本思路就这样了可能还有小错无不过你可以借见一下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-09
这个最大数 就第一个数 和第二个数比较 那个大就赋值给max 再与下一个数值比较 最小数同理可得 偶数的话 只要数值对2取余为0的话就是 偶数 每出现一次偶数 就累加起来,也同样计数 最后累加和除以计数的最后值就是偶数平均值
第2个回答  2010-11-14
#include<stdio.h>
#include<stdlib.h>
main()
{
int i,k,t=0,n,max,min,sum=0;
scanf("%d",&n);
scanf("%d",&k);
if(k%2==0){t++;sum+=k;}
max=k;min=k;
for(i=1;i<n;i++)
{
scanf("%d",&k);
if(max<k)max=k; if(min>k)min=k;
if(k%2==0){t++;sum+=k;}
}

printf("%d %d %f",max,min,sum*1.0/t);
system("pause");
}
试试,完整的代码。本回答被提问者采纳
第3个回答  2010-11-09
#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int i,n,temp;
cout<<"请输入n: ";
cin>>n;
int *pn;
pn=new int[n];
cout<<"请输入"<<n<<"个整数: "<<endl;
for( i=0; i<n; ++i )
cin>>pn[i];

for( i=0; i<n-1; ++i )
{
if( pn[i]>pn[i+1] )
{
temp=pn[i];
pn[i]=pn[i+1];
pn[i+1]=temp;
}
}
cout<<"最大的数为: "<<pn[n-1]<<endl;

for( i=n-1; i>0; --i )
{
if( pn[i]<pn[i-1] )
{
temp=pn[i];
pn[i]=pn[i-1];
pn[i-1]=temp;
}
}
cout<<"最小的数为: "<<pn[0]<<endl;

int count=0,sum=0;
for( i=0; i<n; ++i )
{
if( pn[i]%2==0 )
{
sum+=pn[i];
++count;
}
}
cout<<"偶数平均数为:"<<sum/count<<endl;
return 0;
}
第4个回答  2010-11-09
参考下。。。

#include <iostream>
using namespace std;

int cave(int num[], int length);//average
int cmin(int num[], int length);//min
int cmax(int num[], int length);//max

int main()
{
int i = 0;
int temp, max, min, ave;
int num[10];//most 10

cout << "请输入待处理的数(以0结束):";

while (cin>>temp, temp!=0)
{
num[i++] = temp;
if (i == 10 )
break;
}

//数组处理
max = cmax(num, i);
min = cmin(num, i);
ave = cave(num, i);

//输出
cout << "最大数是:" << max
<< "\t最小数是:" << min
<< "\t平均数是:" << ave
<< endl;

cin.get();
return 0;
}

int cave(int num[], int length)
{
int sum = 0;
for (int i=0; i<length; i++)
sum += num[i];
return (sum/length);
}

int cmax(int num[], int length)
{
int temp = num[0];
for (int i=1; i<length; i++)
{
if (temp < num[i])
temp = num[i];
}
return temp;
}

int cmin(int num[], int length)
{
int temp = num[0];
for (int i=1; i<length; i++)
{
if (temp > num[i])
temp = num[i];
}
return temp;
}
相似回答