我写了一些代码,询问用户要输入多少个数字。然后程序打印出要求每个新行中的数字的语句数,然后在结尾打印出数组。如何打印最大的数字,然后在新行上打印最后一个数字的数组序列?像这样的东西:
您想输入多少个号码? 6
请输入数字1:10
请输入数字2:8
请输入数字3:3
请输入数字4:5
请输入数字5:2
请输入数字6:9
最大的数字是:10
新名单:8,3,5,2,9,10
到目前为止,这是我的代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main ()
{
int i, count = 0;
int numArray[4000];
cout << "How many numbers would you like to enter? : ";
cin >> count;
for (i = 0; i < count; i++)
{
cout << "Enter number " << i+1 << " : ";
cin >> numArray[i];
}
//cout << "The largest number is: " << largestNumber << endl;
cout << "New list: ";
for (i=0; i< count; i++)
{
cout << numArray[i];
if (i < count - 1)
cout << ", ";
}
cout << endl;
return 0;
}
答案 0 :(得分:0)
在数组中找到大号:
int numArray[4000];
int count = 4000;
int largest = 0;
for (int i = 0; i < count; ++i)
{
if (largest_temp < numArray[i]){
largest = numArray[i];
}
}
答案 1 :(得分:0)
首先,忘记固定大小的数组。没有任何意义,你可能会溢出。将int numArray[4000];
替换为std::vector<int> numArray;
,拥有#include <vector>
,即可开箱即用。
您可以使用以下方法从矢量中获取最大元素:
auto largestNumberIt = std::max_element(numArray.begin(), numArray.end());
int largestNumber = *largestNumberIt;
您可以使用erase
或remove
从矢量中删除元素(它不清楚您要对重复项执行的操作)并将元素推送到numArray
使用numArray.push_back(largestNumber);
结束。