c++输入数组int a[10]的每一个元素,并求该数组中奇数的个数和平均值以及偶数的个数和平均值。

如题所述

#include<iostream>
using namespace std;
void main()
{
int a[10];
for (int i=0; i < 10; i++)
{
cin >> a[i];
if (a[i] <= 0)break;
}
double x = 0;
int j = 0;
for (int i=0; i < 10; i++)
{
if (a[i] % 2 != 0)continue;
x += a[i];
j++;
}
cout << x/j << endl;
}
我这个考虑到输入到非正数就终止,如不需要去掉break语句就行。要输出奇数个数,cout加一个j就行。偶数如法炮制。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-30
void aaaaa()
{
int a[10];// = {1,2,3,4,5,6,7,8,9,12};

int even_count = 0;//偶数
int odd_count = 0;
int even_all = 0;
int odd_all = 0;
double enen_average = 0;
double odd_average = 0;

for (int j=0; j<10; j++)
{
cin>>a[j];
}

for (int i=0; i<10; i++)
{
if(a[i] & 0x01)//奇数
{
++odd_count;
odd_all += a[i];
}
else
{
++even_count;
even_all += a[i];
}
}
enen_average = (double)even_all/even_count;
odd_average = (double)odd_all/odd_count;

cout<<"even all = "<<even_all<<endl;
cout<<"even count = "<<even_count<<endl;
cout<<"enen average = "<<enen_average<<endl;

cout<<"odd all = "<<odd_all<<endl;
cout<<"odd count = "<<odd_count<<endl;
cout<<"odd average = "<<odd_average<<endl;
};
第2个回答  2007-11-30
#include <iostream.h>

int main()
{
int a[10];
int i = 0;
int sum_of_odd = 0;
int sum_of_even = 0;
int counter_odd = 0;
int counter_even = 0;

memset(a,0,sizeof(a));

cout<<"please input 10 numbers:"<<endl;
while(i<10)
{
cin>>a[i];
i++;
}

for(i=0;i<10;i++)
{
if(a[i]%2 == 0)
{
sum_of_even += a[i];
counter_even++;
}
else
{
sum_of_odd += a[i];
counter_odd++;
}
}

cout<<"the avg of "<<counter_even<<" even numbers is "<< sum_of_even/counter_even<<endl;
cout<<"the avg of "<<counter_odd<<" odd numbers is "<< sum_of_odd/counter_odd<<endl;
return 0;
}本回答被网友采纳
第3个回答  2007-11-30
一楼的using namespace std; 忘写了
相似回答