C ++帮助。我在解决这个问题时遇到了问题

时间:2011-04-13 02:16:15

标签: c++

这是我到目前为止的代码。我要做的是让程序显示超过60英寸的孩子数和他们的身高。该程序现在显示超过60英寸的儿童数量,但我还需要它来显示超过60英寸的儿童的身高。提前谢谢!

#include <iostream>
using namespace std;
int main ()
{
    double childHeight[10];
    int numChildren = 0;

    for (int x = 0; x < 10; x = x + 1)
    {
        childHeight[x] = 0.0;
    }
    cout << "You will be asked to enter the height of 10 children." << endl;
    for (int x = 0; x < 10; x = x + 1)
    {
        cout << "Enter the height of child: ";
        cin >> childHeight[x];
    }
    cout << "The number of children over 60 inches are: "<< endl;
    for (int x = 0; x < 10; x = x + 1)
    {
        if (childHeight[x] > 60)
        {                
           numChildren = numChildren + 1;                
        }  
    }
    cout << numChildren << endl;
    system("pause"); 
    return 0;
}

2 个答案:

答案 0 :(得分:5)

这非常接近,如果是家庭作业,这是一个很好的第一次尝试,所以我不介意帮忙。

你已经有一个循环通过你的数组检查高度,所以这是一个简单的问题,添加到那个,所以你:

  • 在检测到时也输出超过60的高度;和
  • 对打印的内容稍作修改,以便按顺序排列。

变化:

cout << "The number of children over 60 inches are: " << endl;
for (int x = 0; x < 10; x = x + 1)
{
    if (childHeight[x] > 60)
    {                
       numChildren = numChildren + 1;                
    }  
}
cout << numChildren << endl;

为:

cout << "The heights of children over 60 inches are: " << endl;    // ADD
for (int x = 0; x < 10; x = x + 1)
{
    if (childHeight[x] > 60)
    {                
       numChildren = numChildren + 1;                
       cout << "    " << childHeight[x] << endl;                  // ADD
    }  
}
cout << "The number of children over 60 inches are: " << endl;    // MOVE
cout << "    " << numChildren << endl;                            // CHNG

numChildren输出的更改只是添加空格,一个很好的格式化触摸。这应该导致输出类似:

The heights of children over 60 inches are:
    62
    67
The number of children over 60 inches are:
    2

一些小的建议根本不会影响您的代码性能,但我认为我已经看过几十年的x = x + 1 C和C ++这样做的方式通常是++x

此外,在大多数情况下,我倾向于选择\nendl。后者(见here)输出一行刷新缓冲区,在某些情况下这可能效率低下。

答案 1 :(得分:0)

你只需要另一个for循环就像那个计算高个子孩子的循环一样,而不是计数,在身体中你可以打印高度。