上机编程实现用函数将从键盘上输入的三个数按从小到大的顺序输出。要求编写自定义函数swap() 用于交换两个变量的值;且函数的原型为: void swap(int *p1,int *p2); 并在main函数中用指针变量作实参,调用swap函数,最后输出排序后的结果。
时间: 2023-05-13 20:05:00 浏览: 147
好的,这是一个经典的排序问题,以下是代码实现:
```
#include <stdio.h>
void swap(int *p1, int *p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a, b, c;
printf("请输入三个数:");
scanf("%d %d %d", &a, &b, &c);
if (a > b) swap(&a, &b);
if (a > c) swap(&a, &c);
if (b > c) swap(&b, &c);
printf("从小到大排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
这个程序中,我们定义了一个自定义函数swap(),用于交换两个变量的值。在main函数中,我们先输入三个数,然后通过比较大小,调用swap函数交换变量的值,最终输出排序后的结果。
相关问题
数三个数a,b,c,按从小到大的顺序输出,要求用void函数 和swap函数
好的,下面是一个使用 void 函数和 swap 函数实现的示例代码:
```
#include <iostream>
using namespace std;
void sort(int& a, int& b, int& c) {
if (a > b) {
swap(a, b);
}
if (a > c) {
swap(a, c);
}
if (b > c) {
swap(b, c);
}
}
int main() {
int a, b, c;
cin >> a >> b >> c;
sort(a, b, c);
cout << a << " " << b << " " << c << endl;
return 0;
}
```
这个程序同样定义了一个 `sort` 函数,该函数使用引用参数和 `swap` 函数将三个数从小到大排序。在 `main` 函数中,我们输入三个数,然后调用 `sort` 函数将它们排序,最后输出结果。希望这个代码对您有帮助。
使用C语言实现:从键盘输入三个数a b c按大小顺序输出,要求用指针实现数据的交换
下面是使用指针实现三个数按照大小顺序输出的C语言代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
// 冒泡排序
if (a > b) swap(&a, &b);
if (a > c) swap(&a, &c);
if (b > c) swap(&b, &c);
printf("按大小顺序输出:\n%d %d %d", a, b, c);
return 0;
}
```
首先定义了一个 `swap` 函数,用于交换两个整数。在 `main` 函数中,先通过 `scanf` 函数从键盘输入三个整数,然后使用冒泡排序的方法将它们按照大小顺序排列。具体来说,先比较 `a` 和 `b` 的大小,如果 `a` 大于 `b`,则交换它们的值;然后比较 `a` 和 `c` 的大小,如果 `a` 大于 `c`,则交换它们的值;最后比较 `b` 和 `c` 的大小,如果 `b` 大于 `c`,则交换它们的值。最终输出排好序的三个整数。在交换值的过程中,使用了指针来实现。