c++编程(关于非数字读取问题)

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:22:08
最多将10个值读入到一个double数组中,程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值!
请大家帮帮忙啦!。。

思路:用一个函数控制输入并保存输入数据到指定数组,再对数组求平均值。关键点在控制输入。
代码如下:
//头文件:Average.h

#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
#define LEN 100
#define MAX 10
double Average(double dArray[], int num);
int Input(double dArray[], int iCount);

//源文件:Average.cpp

#include "Average.h"
// num 为数组数据个数
double Average(double dArray[],int num)
{
double dSum = 0;
for(int i= 0; i < num; i++) {
dSum += dArray[i];
}
return dSum/num;
}

//iCount 允许输入次数
int Input(double dArray[], int iCount)
{
int iNum = 0;
int i = 0;
char chTemp[LEN];
while(iNum < iCount) {
cout<<"Input No."<<i+1<<" number: ";
gets(chTemp);
dArray[i] = (double)atof(chTemp);
if('q' == chTemp[0] || 'Q