标题:编写一个程序,最多将10 个donation值读入到一个double数组中。如果程序遇到 ...
取消只看楼主
C00000001
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-5-8
结帖率:100%
 问题点数:0 回复次数:2 
编写一个程序,最多将10 个donation值读入到一个double数组中。如果程序遇到非数字输入时将结束输入,并报告这些数的平均值以及数组中有多少个数字大于平
编写一个程序,最多将10 个donation值读入到一个double数组中。如果程序遇到非数字输入时将结束输入,并报告这些数的平均值以及数组中有多少个数字大于平均值
代码1:#include<iostream>
#include<cctype>
const int SIZE = 10;
int main()
{
    using namespace std;
    double* pd = new double[SIZE];
    int i = 0;
    while (i < SIZE)
    {
        cin >> pd[i];
        if (!isdigit(pd[i]))
            break;
        i++;
    }
    if (i == 0)
        cout << "There is no data." << endl;
    else
    {
        double average, sum;
        int count = 0;
        sum = 0;
        for (int i = 0; i < SIZE; i++)
            sum += pd[i];
        average = sum / SIZE;
        cout << "Average: " << float(average) << endl;
        for (int i = 0; i < SIZE; i++)
        {
            if (average < pd[i])
                count++;
        }
        cout << "Number(beyond average): " << count << endl;
    }
    delete[] pd;
    return 0;
}
代码2:
#include<iostream>
#include<cctype>
const int SIZE = 10;
int main()
{
    using namespace std;
    double* pd = new double[SIZE];
    int i = 0;
    while (i < SIZE)
    {
        cin >> pd[i];
        i++;
    }
    if (i == 0)
        cout << "There is no data." << endl;
    else
    {
        double average, sum;
        int count = 0;
        sum = 0;
        for (int i = 0; i < SIZE; i++)
            sum += pd[i];
        average = sum / SIZE;
        cout << "Average: " << float(average) << endl;
        for (int i = 0; i < SIZE; i++)
        {
            if (average < pd[i])
                count++;
        }
        cout << "Number(beyond average): " << count << endl;
    }
    delete[] pd;
    return 0;
}
若删除代码1中
if (!isdigit(pd[i]))
            break;
这个程序就可以正确运行;
但是我想通过
if (!isdigit(pd[i]))
            break;
来判断输入的是否为数字。
我代码1 错在哪了?
搜索更多相关主题的帖子: 输入 double int SIZE average 
2021-05-15 20:12
C00000001
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-5-8
得分:0 
回复 2楼 rjsp
感谢
2021-05-16 09:05
C00000001
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-5-8
得分:0 
回复 2楼 rjsp
cin对象是不是能根据变量的类型来判断输入类型是否正确,通过返回bool值来作为判断for的判断依据?
2021-05-16 09:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505746-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046563 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved