在主函数中读取两个整数,在主函数中调用order函数,函数order(inta,intb),使调用函数中的第一个实参总是存放两个数中较小的数,第二个参数存放两个数中较大的数,最后在主函数中按从小到大输出两个读取的整数。
首先,在主函数中要读取两个整数。可以通过使用输入流cin来读取用户输入的两个整数,并分别存储在两个变量中。
int num1, num2;
cin >> num1 >> num2;
接下来需要调用名为order的函数来将这两个整数按从小到大的顺序存放。
可以使用一个指针作为参数,并通过比较修改指针所指向的变量的值。
void order(int* p, int* q) {
if(*p > *q) {
int temp = *p;
*p = *q;
*q = temp;
}
}
在主函数中调用order函数,并传入两个整数的地址作为参数。
int main() {
int num1, num2;
cin >> num1 >> num2;
order(&num1, &num2);
cout << num1 << " " << num2 << endl;
return 0;
}
完整的代码如下所示:
#include <iostream>
using namespace std;
void order(int* p, int* q) {
if(*p > *q) {
int temp = *p;
*p = *q;
*q = temp;
}
}
int main() {
int num1, num2;
cin >> num1 >> num2;
order(&num1, &num2);
cout << num1 << " " << num2 << endl;
return 0;
}
运行代码后,用户输入的两个整数将按从小到大的顺序输出。
供参考:
#include <stdio.h>
void order(int *a, int *b)
{
if (*a > *b){
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
order(&a, &b);
printf("%d %d", a, b);
return 0;
}
#include <stdio.h>
void order(int *a, int *b) {
if (*a > *b) {
int temp = *a;
*a = *b;
*b = temp;
}
}
int main() {
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
order(&num1, &num2);
printf("按从小到大输出两个整数:\n");
printf("%d %d\n", num1, num2);
return 0;
}