C++ Primer Plus 6.2

    技术2022-05-20  65

    #include "iostream" #include <math.h> using namespace std; int main() { char ch; double a[10]; int i=0,j=0,number=0,m=0,tmp=0; double average,sum=0.0; cout.setf(ios::fixed); cin.get(ch); while(isdigit(ch)&& i<=10) { int s=1; //s用于确定是否有小数位,0为无,正数为小数点之前,-1为小数点后第一位,-2为第二位,以此类推 a[i]=ch-'0'; cin.get(ch); while(isdigit(ch)||ch=='.') { if(isdigit(ch)) tmp=ch-'0'; if(isdigit(ch) && s>0) { a[i]=a[i]*10+tmp; s++; } else if(isdigit(ch) && s<0) { a[i]=a[i]+tmp*pow(10.0,s); s--; } else if(ch=='.'&& s>0) { s=-1; } else if(ch=='.'&& s<-1) { s=0; break; } cin.get(ch); } i++; if(ch!=' '&& ch!='/n'&&!isdigit(ch)) break; cin.get(ch); while (ch==' '||ch=='/n') cin>>ch; //去除空格和多于的回车键; } if(i>10) { cout<<"注意,donation 超出10个,只接收前面10个输入!"; i=10; } while (j<i) { sum=sum+a[j++]; } average=sum/j; cout<<"平均数为:"<<average<<endl; while (m<=j) { if(a[m]>average) { number++; } m++; } cout<<"大于平均数的个数为: "<<number<<endl; return 0; }


    最新回复(0)