问题求助
编写一个程序读取整数,直到输入0为止。 在输入结束后,程序应该报告输入的偶数(不包括0)的总数、偶数的平均值、奇数的总数和奇数的平均值。 #include <stdio.h>int main()
{
int num, A = 0, a = 0, B = 0, b = 0;
while(1){
scanf("%d", &num);
if(num == 0) break;
else{
if(num%2){
A += num;
a ++;
}
else{
B += num;
b ++;
}
}
}
printf("偶数总数:%d\n偶数平均值:%f\n奇数的总数:%d\n奇数平均值:%f", B, (float)B/b, A, (float)A/a);
return 0;
}输入/输出:1 2 3 4 5 6 7 8 9 0
偶数总数:20
偶数平均值:5.000000
奇数的总数:25
奇数平均值:5.000000 #include<iostream>
#include<algorithm>
#include<vector>
#include<numeric>
using namespace std;
int main(){
vector<int> even;
vector<int> single;
while(1){
int tem=0;
cin>>tem;
if(tem==0){break;}
if(tem%2 == 0){
even.emplace_back(tem);
}else{
single.emplace_back(tem);
}
}
double even_avg=(double)accumulate(even.begin(),even.end(),0)/(double)even.size();
cout<<"偶数总数: "<<even.size()<<" "<<"偶数平均数"<<even_avg<<endl;
double single_avg=(double)accumulate(single.begin(),single.end(),0)/(double)single.size();
cout<<"奇数总数"<<single.size()<<"奇数平均数"<<single_avg<<endl;
return 0;
}
页:
[1]