我买了教科书 C ++如何编程第9版,我遇到了一个问题,我很难过,尽管它可能很简单。总结的问题是:"使用while语句确定并打印用户输入的最大数量的10个数字"。但这是让我难过的部分。这个问题要我只使用3个变量。计数器,数字和最大。我知道为每个输入的数字使计数器变量加1,直到达到10,我知道数字变量用于输入。我似乎无法找到如何使用最大的变量,或者如何在不使用其他变量的情况下检查最大值。这就是我到目前为止所做的一切。现在我在代码中放了一个间隔,所以它不会是一个无限循环。
更新代码
#include <iostream>
using namespace std;
void main()
{
int counter = 0;
int number = 0;
int largest = 0;
cout << "Please enter up to 10 numbers and I will print the largest one on the screen.\n\n";
while (counter <= 10)
{
cout << "Number: ";
cin >> number;
counter++;
if (number > largest)
{
largest = number;
}
else if (counter == 10)
{
cout << "The largest number was: " << number;
break;
}
}
}
答案 0 :(得分:4)
cout << "The largest number was: " << number;
应该是
cout << "The largest number was: " << largest;
答案 1 :(得分:3)
在while循环中,如果number大于最大值,则设置maximum = number。
然后在最后你可以输出最大值。
答案 2 :(得分:0)
解决方案(你甚至不需要while循环)
#define MAX_NUM 8
//user input goes in myints
int myints[MAX_NUM] = {3,7,2,5,6,4,9};
// using default comparison:
std::cout << "The largest element is " << *std::max_element(myints,myints+MAX_NUM) << '\n';
使用int数组的其他解决方案,即使您可以用一个变量替换int数组
int main()
{
int largest = 0;
int myints[10] = {3,7,2,5,6,4,9,7,2,6};
for(int i =0 ; i< 10;i++)
{
if (myints[i] > largest)
{
largest = myints[i];
}
}
cout << largest << endl;
return 0;
}
答案 3 :(得分:0)
您只需要添加in while循环检查是您输入的数字大于最大值。如果它只是你存储在最大的。实际上你输入了11个数字,因为你从0到10计数。只需将counter设置为1或while(counter <10)
int counter = 1;
int number = 0;
int largest = 0;
cout << "Please enter up to 10 numbers and I will print the largest one on the screen.\n\n";
while (counter <= 10)
{
cout << "Number: ";
cin >> number;
counter++;
if (largest < number)
{
largest = number;
}
}
cout << largest << endl;