C语言输入四个整数,要求将他们按从小到大的顺序输出
时间: 2023-05-25 20:03:16 浏览: 71
以下是一种简单的解法:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
// 冒泡排序
int arr[4] = {a, b, c, d};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
// 输出结果
for (int i = 0; i < 4; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
注:上述代码使用了冒泡排序算法,时间复杂度为 O(n^2),当数据量较大时效率不高,更高效的排序算法可参考其他资料。
相关问题
c语言输入四个整数,按从小到大的顺序输出
在C语言中,如果你想让用户输入四个整数并按照从小到大的顺序输出,你可以使用`scanf`函数获取输入,然后利用嵌套循环或临时变量交换的方式来排序。以下是一个简单的示例:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2, num3, num4;
printf("请输入四个整数:\n");
scanf("%d %d %d %d", &num1, &num2, &num3, &num4);
// 如果num1大于num2,直接交换;如果num2大于num3,再交换;以此类推
if (num1 > num2) {
swap(&num1, &num2);
}
if (num2 > num3) {
swap(&num2, &num3);
}
if (num1 > num2 || num2 > num3) { // 再次检查是否需要交换num1和num3
swap(&num1, &num3);
}
// 同理,处理num3和num4之间的大小关系
if (num3 > num4) {
swap(&num3, &num4);
}
printf("按照从小到大的顺序,它们是:%d, %d, %d, %d\n", num1, num2, num3, num4);
return 0;
}
```
c语言,输入 4 个整数,要求按从小到大顺序输出。
在C语言中,你可以通过循环和临时变量来实现输入四个整数并按顺序输出的功能。以下是一个简单的示例:
```c
#include <stdio.h>
int main() {
int num1, num2, num3, num4;
// 输入四个整数
printf("请输入第1个整数: ");
scanf("%d", &num1);
printf("请输入第2个整数: ");
scanf("%d", &num2);
printf("请输入第3个整数: ");
scanf("%d", &num3);
printf("请输入第4个整数: ");
scanf("%d", &num4);
// 将它们存储在一个临时变量里,然后逐个比较并交换位置,实现排序
if (num2 < num1) {
int temp = num1;
num1 = num2;
num2 = temp;
}
if (num3 < num1 || (num3 > num1 && num3 < num2)) {
int temp = num1;
num1 = num3;
num3 = temp;
}
if (num4 < num1 || (num4 > num1 && num4 < num2) || (num4 > num2 && num4 < num3)) {
int temp = num1;
num1 = num4;
num4 = temp;
}
if (num4 < num2) {
int temp = num2;
num2 = num4;
num4 = temp;
}
// 输出排序后的结果
printf("排序后的数字: %d, %d, %d, %d\n", num1, num2, num3, num4);
return 0;
}
```
当你运行这段代码并输入四个整数时,它会按照升序(从小到大)打印出来。
阅读全文