我在c++中有以下代码,我想定义并调用一个函数,该函数从用户那里获取起始和结束编号,并显示有序对



我想制作一个函数来打印起始和结束数字之间的有序对,如。输入:输入起始编号1结束编号5输出:(11((12((13((14((15((22((23((24((25((33((34((35((44((45((55(但我的代码给出了不同的输出,我修复了

#include <bits/stdc++.h>
using namespace std;
void uniquePairs(int n) {
for (int i = 1; i < n; ++i) {
for (int j = i + 1; j < n; j++) {
cout << "(" << i << "," << j << ")" << endl;
}
}
}
int main() {
int n = 5;
uniquePairs(n);
return 0;
}

您可以修改函数,使其采用2个参数,而不是1个参数,如下所示。第一个自变量对应于起始数字,第二个自变量对应着结束数字。

#include <iostream>
using namespace std;
//function uniquePairs takes 2 arguments now instead of just 1
void uniquePairs(int startingNumber, int endingNumber) {
int k = 0;
for (int i = startingNumber; i <= endingNumber; ++i) {
for (int j = startingNumber + k; j<= endingNumber; j++) {
cout << "(" << i << "," << j << ")" << endl;
}
++k;
}
}
int main() {
int startingNumber, endingNumber;
std::cout<<"Enter startingNumber: "<<std::endl;
std::cin >> startingNumber;
std::cout<<"Enter endingNumber: "<<std::endl;
std::cin >> endingNumber;
//call the function while passing the 2 input numbers
uniquePairs(startingNumber,endingNumber);
return 0;
}

输入startingNumber =1endingNumber = 5的上述程序的输出为:

Enter startingNumber: 
1
Enter endingNumber: 
5
(1,1)
(1,2)
(1,3)
(1,4)
(1,5)
(2,2)
(2,3)
(2,4)
(2,5)
(3,3)
(3,4)
(3,5)
(4,4)
(4,5)
(5,5)

上面程序的输出可以在这里看到。还可以看看为什么我不应该#include<bits/stdc++.h>?。

最新更新