运行出错
题目是把5个donation值读入到一个double数组中,程序遇到非数字输入时将结束输入,并把这些数和币平均值大的值输出。#include <iostream>
#include <cctype>
main()
{
using namespace std;
int n,i=0,sum=0,average;
double number[5],donation;
cout<<"enter a digit:\n";
cin>>donation;
while(!isalpha(donation))
{
number[i]=donation;
i++;
if(i==5)break;
cin>>donation;
}
cout<<"these numbers are:\n";
for(n=0;n<i;n++)
{
cout<<number[n]<<" ";
sum+=number[n];
}
average=sum/n;
cout<<"\nabove the average number is"<<average<<"\n";
cout<<"larger than the average digit is:\n";
for(n=0;n<i;n++)
{
if(number[n]>average)
cout<<number[n]<<" ";
}
}
为什么光输入数字时第一次运行成功但连续运行2-4次的话会出错呢(有时只能输入1个值)很奇怪,大家务必运行多次,在我这里运行4次的时候总出错。
还有当输入数字后输入字符串时程序出错 要怎么改才对,谢谢高手指点。