第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;
}