如何修复分配给变量的数字和出现的次数?
How do I fix the assigning numbers to the variable and the number of occurrence?
我想出了一个代码,但我仍然不知道我哪里错了,有两个问题,数字和出现的次数。如果一个在工作,另一个不在。
任务:使用 while 循环,编写一个程序,要求用户输入一个正数,比方说 N。程序然后要求用户输入 N 个正整数。该方案是为了确定
数字中的最大值及其出现的次数。
到目前为止我所做的工作:
#include <iostream>
using namespace std;
int main()
{
int nnum, x = 1, unum, sum, max = 0, anum, occ = 0, rem, quo;
cout << "Input number of positive integers: ";
cin >> nnum;
cout << "Input " << nnum << " positive numbers: ";
while (x<=nnum) {
cin >> unum;
anum = unum;
quo = anum;
sum += unum;
if (max < unum) {
max = unum;
}
x++;
while (quo != 0) {
rem = quo%10;
quo = quo/10;
if (anum == rem) {
occ += 1;
}
}
}
cout << "Highest: " << max << endl;
cout << "Occurrence: " << occ;
return 0;
}
我不确定您的代码试图做什么。我采用的方法很简单:在读取数字时跟踪最大值和出现次数。
- 如果您读取的数字大于当前最大值,则更新当前最大值并重置出现次数计数器。
- 如果您读取的数字等于当前最大值,则增加出现次数计数器。
您还应该在此处使用 for
循环而不是 while
循环,并且您可能还想验证您的输入。
#include <iostream>
int main()
{
int n, max_number = -1, occurrences = 0;
std::cin >> n;
for(int i = 1; i <= n; i++)
{
int temp;
std::cin >> temp;
if(temp > max_number)
{
max_number = temp;
occurrences = 0;
}
if(temp == max_number)
{
occurrences++;
}
}
std::cout << max_number << ' ' << occurrences;
return 0;
}
我想出了一个代码,但我仍然不知道我哪里错了,有两个问题,数字和出现的次数。如果一个在工作,另一个不在。
任务:使用 while 循环,编写一个程序,要求用户输入一个正数,比方说 N。程序然后要求用户输入 N 个正整数。该方案是为了确定 数字中的最大值及其出现的次数。
到目前为止我所做的工作:
#include <iostream>
using namespace std;
int main()
{
int nnum, x = 1, unum, sum, max = 0, anum, occ = 0, rem, quo;
cout << "Input number of positive integers: ";
cin >> nnum;
cout << "Input " << nnum << " positive numbers: ";
while (x<=nnum) {
cin >> unum;
anum = unum;
quo = anum;
sum += unum;
if (max < unum) {
max = unum;
}
x++;
while (quo != 0) {
rem = quo%10;
quo = quo/10;
if (anum == rem) {
occ += 1;
}
}
}
cout << "Highest: " << max << endl;
cout << "Occurrence: " << occ;
return 0;
}
我不确定您的代码试图做什么。我采用的方法很简单:在读取数字时跟踪最大值和出现次数。
- 如果您读取的数字大于当前最大值,则更新当前最大值并重置出现次数计数器。
- 如果您读取的数字等于当前最大值,则增加出现次数计数器。
您还应该在此处使用 for
循环而不是 while
循环,并且您可能还想验证您的输入。
#include <iostream>
int main()
{
int n, max_number = -1, occurrences = 0;
std::cin >> n;
for(int i = 1; i <= n; i++)
{
int temp;
std::cin >> temp;
if(temp > max_number)
{
max_number = temp;
occurrences = 0;
}
if(temp == max_number)
{
occurrences++;
}
}
std::cout << max_number << ' ' << occurrences;
return 0;
}