c++ - 将一些随机数作为输入并按降序打印数字
问题描述
#include<iostream>
using namespace std;
int print_max(int a, int b);
main()
{
int low=0,max,min;
int num[5];
for(int i=1; i<=5; i++)
{
cout<<"Plz Enter the number "<<endl;
cin>>num[i];
low=print_max(num[i],low);
max=print_max(num[i],low);
}
cout<<max;
for(int i=1; i<=5; i++)
{
if(max>num[i])
min=num[i];
cout<<min;
}
}
int print_max(int a,int b)
{
int max;
if (a>b)
{max=a;
return max;}
else
{
max=b;
return max;
}
}
我想对一些作为输入的随机数进行排序,然后按降序对它们进行排序。“low”参数将保存较大的数字,然后“max”将所有值与“low”进行比较并保存较大的值。然后,我if
在循环中添加了条件,以便它将输入的所有值与“max”进行比较并找到最小值。程序的输出不是降序排列的数字。我究竟做错了什么?
解决方案
你的程序有很多错误。您可以查看此示例以了解您的错误:
#include <iostream>
#include <climits>
#include <algorithm>
using namespace std;
int main()
{
const unsigned int N = 5;
int low = INT_MAX, max = INT_MIN;
int num[N] = {0};
for(auto i = 0U; i < N; i++)
{
cout << "Plz Enter the number " << endl;
cin >> num[i];
if(num[i] < low)
low = num[i];
if(num[i] > max)
max = num[i];
}
cout << endl << "max: " << max << endl;
cout << "min: " << low << endl << endl;
std::sort(num, num + N, [](int i, int j){return i > j;});
for(auto i = 0U; i < N; i++)
cout << num[i] << " ";
}
你的一些错误:
在 c/c++ 中,数组元素的编号从 0 到 N-1,例如
int a[5]; // valid elements are a[0]...a[4]
在print_max你不需要变量' max ':
int print_max(int a,int b) { if(a > b) return a; else return b; }
- 如上例所示,您根本不需要 _print_max_。
变量初始化是一个很好的做法:
int low = INT_MAX, max = INT_MIN; int num[N] = {0};
如果需要,您可以使用某种 BubbleSort 代替std::sort:
void sort(int *num, unsigned int size)
{
for(auto i = 0U; i < size-1; i++)
for(auto j = 0U; j < size-i; j++)
if(num[j] < num[j + 1])
{
auto tmp = num[j];
num[j] = num[j + 1];
num[j + 1] = tmp;
}
}
推荐阅读
- javascript - jQuery:使用多个下拉菜单时获取(1)选定的值
- llvm - 如何在 LLVM IR 中创建字符串
- javascript - 将从服务器收到的对象放入我自己的类中
- docker - 如何在间隔内正确运行 docker 容器?
- python - 生成距离中心超过 50 个单位但短于 250 个单位的随机坐标
- visual-studio - Visual Studio 2019 IntelliSense 无法识别更改的值
- java - Visual Studio Code 和 Java 问题,不编译也不接受 java 命令
- python - 在 Python Pandas 中,如何在不使用 for 循环的情况下比较一个数据帧中的不同行
- python - 'list' 对象没有属性 'short_name'
- python - 如何在 PyCharm 中进行 Pandas 造型?