C++ 中的订单号并识别重复的订单号
Order numbers in c++ and recognize the repeated ones
我试图用 c++ 制作一个程序,该程序应该对 3 个随机数进行排序(用户将编写它们),然后打印哪个是较高的和较低的,但如果两个或更多数字相等,则应打印它。
新代码:
#include <iostream>
using namespace std;
int main()
{
int num1;
int num2;
int num3;
cout << "num1" << endl;
cin >> num1;
cout << "num2" << endl;
cin >> num2;
cout << "num3" << endl;
cin >> num3;
if(num1 == num2 && num3==num2 && num1==num3){
cout << "all numbers are equal";
}
else if (num1 == num2){
cout << "num1 and num2 are equal";
}
else if (num2 == num3){
cout << "num2 and num3 are equal";
}
else if(num3 == num1){
cout << "num1 and num3 are equal";
}
else{
if (num1 != num2 && num2 != num3 && num3 != num1){
if (num1 > num2 && num1 > num3){
cout << "higher is num1";
}
else if(num2 > num1 && num2 > num3){
cout << "higher is num2";
}
else if(num3 > num1 && num3 > num2){
cout << "higher is num3";
}
}
}
return 0;
}
新问题:程序也需要知道哪个是最低的,那么我该怎么做呢?
旧代码:
#include <iostream>
using namespace std;
int main()
{
int num1;
int num2;
int num3;
cout << "num1" << endl;
cin >> num1;
cout << "num2" << endl;
cin >> num2;
cout << "num3" << endl;
cin >> num3;
if(num1 == num2 && num3==num2 && num1==num3){
cout << "all your numbers are equal";
}
if (num1 != num2 && num2 != num3 && num3 != num1){
if (num1 > num2 && num1 > num3){
cout << "num1";
}
else if(num2 > num1 && num2 > num3){
cout << "num2";
}
else /*(num3 > num1 && num3 > num2)*/{//Here I tried to use and else if
cout << "num3";
}
}
return 0;
}
老问题这段代码全错了,但我不知道我做错了什么,请帮助我。我还有最后一个问题,我有 if 到 if 句子的限制吗?或者我只是不能写另外两个如果或..?谢谢。
#include <iostream>
#include <set>
int main()
{
std::set<int> numbers;
int input;
for (int i=1; i<=3; ++i) {
std::cout << "Enter number " << i << ": ";
std::cin >> input;
numbers.insert(input);
}
if (numbers.size() < 3) {
std::cout << "You entered the same number more than once, silly!" << std::endl;
std::cout << "Nevertheless, ";
}
std::cout << "the maximum number is " << *numbers.rbegin() << std::endl;
}
此代码的重要功能是它利用了以下std::set
属性:
- 它保持其所有元素的排序顺序
- 它不允许重复的元素
std::set::rbegin
用于获取最后一个元素,即最大数字(因为数字会自动排序)。
此代码不显示哪些数字最大和最小,但可以轻松添加。例如,std::set::insert
返回的信息可用于确定集中哪个插入失败。std::set 只能包含其所包含对象的单个副本。 因此,如果用户多次输入数字,则要插入的调用将失败。
以下代码段解决了您的目的。它有三个功能findLargest
、findSmallest
和checkEqual
。这是一个非常基本的程序,可以根据您对如何显示和返回什么等的需求进行修改。
#include <iostream>
using namespace std;
void findLargest(int n1,int n2,int n3)
{
if(n1>n2 && n1>n3)
{
cout<<"Largest number is :"<<n1;
cout<<"n";
}
else if((n2>n1) && (n2>n3))
{
cout<<"Largest number is :"<<n2;
cout<<"n";
}
else
{
cout<<"Largest number is :"<<n3;
cout<<"n";
}
}
void findSmallest(int n1,int n2,int n3)
{
if(n1<=n2 && n1<=n3)
{
cout<<"Smallest number is :"<<n1;
cout<<"n";
}
else if((n2<=n1) && (n2<=n3))
{
cout<<"Smallest number is :"<<n2;
cout<<"n";
}
else
{
cout<<"Smallest number is :"<<n3;
cout<<"n";
}
}
int checkEqual(int n1,int n2,int n3)
{
if(n1==n2 && n2==n3 && n3==n1)
{
cout<<"All three are equal";
cout<<"n";
}
else if(n1==n2||n2==n3||n3==n1)
{
cout<<"Two numbers are equal";
cout<<"n";
}
else
{
cout<<"None are equal.. Finding Largest and Smallest....!!";
cout<<"n";
}
}
int main() {
int num1,num2,num3;
cout<<"Enter the numbers";
cin>>num1>>num2>>num3;
cout<<"n";
checkEqual(num1,num2,num3);
findSmallest(num1,num2,num3);
findLargest(num1,num2,num3);
return 0;
}
Ideone 链接:http://ideone.com/hz4keQ
希望对您有所帮助。 :)
相关文章:
- 预处理器:插入结构名称中的前一个行号
- 提升 ASIO 无法识别计时器对象
- 从udp接收帧对于人脸识别来说太慢
- 模板类无法识别友元运算符
- 如何在文件和行号中抛出错误
- std::visit无法识别类型
- 无法识别模板功能
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 如何在LLVM中dyn_cast以识别StoreInst?
- 从不同的附加依赖项中识别等同命名的函数
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- C++出现控制台错误.我无法识别源代码的问题
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- Qt:"Q3DScatter"即使包含在内也无法识别
- Qt 调试显示行号
- 使用指针的类识别
- 任何种类的分数 在任何类型的订单中
- 在if语句中未识别滚动骰子号
- C++ 中的订单号并识别重复的订单号
- c++中的订单号