您的位置:首页 > 编程语言 > C语言/C++

C++primer plus第六版课后编程题答案 6.2

2014-03-28 10:53 453 查看
//编写一个程序,最多将10个donation值读入到一个double数组中。
//程序遇到非数字输入时将结束输入,并报告这些数字的平均值以
//及数组中有多少个数字大于平均值。
#include <iostream>#include <cctype>#include <array>using namespace std;const int MAX=10;void main62(){//double donation[MAX];array<double,MAX>donation={0};char ch;//for(int i=0;i<MAX;i++)//{cout<<"Please enter the number:"<<endl;double sum=0;double avg=0;double count=0;//cin.get(ch);cin.sync();int i=0;//double temp;double temp;cout<<"Please enter the "<<i+1<<" number:";while(i<MAX&&cin>>temp) //程序当输入非数字时,总会异常跳出,什么原因呢?{donation[i]=temp;sum+=donation[i];i++;cout<<"Please enter the "<<i+1<<" number:";}cin.sync();avg=sum*1.0/i;for(int j=0;j<i;j++){if(donation[j]>avg)count++;}cout<<"The sum is "<<sum<<endl;cout<<"The avg is "<<avg<<endl;cout<<"Have  "<<count<<"  number is bigger than avg";//cin.get(); //不要用cin.get(),因为这只是读取一个字符,如果你后面输入了多个非数字字母,//cin.get();//窗口很快就会消失不见getchar();getchar(); //用getchar()或者是system("pause")//system("pause");}
参考:http://zhidao.baidu.com/question/1987844098735710907.html?quesup2&oldq=1

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息