三个数从小到大排序用C语言
时间: 2023-05-21 11:03:57 浏览: 129
可以使用冒泡排序算法来实现三个数从小到大排序的功能,代码如下:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b, c;
printf("请输入三个整数:\n");
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;
}
```
这段代码中,我们首先输入三个整数,然后使用三个 if 语句来比较它们的大小,如果需要交换位置就调用 swap 函数来实现交换。最后输出排序后的结果。
相关问题
三位数从小到大排序,C语言
在C语言中,对三位数进行从小到大的排序可以使用冒泡排序、选择排序、插入排序或者是更高效的算法如快速排序或归并排序。这里我们以冒泡排序为例,因为其简单易懂:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
// 比较相邻元素,如果前一个大则交换
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int num[100], size = 0; // 假设最多有100个三位数
printf("请输入三位数,输入-1结束:\n");
while (scanf("%d", &num[size]) != EOF && num[size] != -1) {
size++;
}
// 对输入的数字进行排序
bubble_sort(num, size);
printf("排序后的三位数数组:\n");
for (int i = 0; i < size; i++) {
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,用户逐次输入三位数,直到输入`-1`停止输入。然后使用冒泡排序函数对输入的数进行排序。
三个数字从小到大排序c语言
好的,以下是用 C 语言实现三个数字从小到大排序的代码:
```c
#include <stdio.h>
int main() {
int a, b, c, temp;
printf("请输入三个数字:\n");
scanf("%d %d %d", &a, &b, &c);
// 比较并交换 a 和 b 的位置
if (a > b) {
temp = a;
a = b;
b = temp;
}
// 比较并交换 b 和 c 的位置
if (b > c) {
temp = b;
b = c;
c = temp;
// 如果交换了 b 和 c 的位置,再次比较并交换 a 和 b 的位置
if (a > b) {
temp = a;
a = b;
b = temp;
}
}
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
我们首先定义了三个整型变量 `a`、`b`、`c`,然后通过 `scanf()` 函数从控制台输入这三个数字。
接下来,我们使用了两个 `if` 语句来比较三个数字的大小并进行交换。第一个 `if` 语句比较 `a` 和 `b` 的大小,如果 `a` 大于 `b`,就交换它们的位置。第二个 `if` 语句比较 `b` 和 `c` 的大小,如果 `b` 大于 `c`,就交换它们的位置,并在此基础上,再次比较 `a` 和 `b` 的大小并进行交换。
最后,我们使用 `printf()` 函数输出排序后的结果。
如果我们输入的三个数字是 4、2、7,那么程序的输出结果就是:
```
请输入三个数字:
4 2 7
排序后的结果为:2 4 7
```
阅读全文