C语言输入三个整数,要求从大到小排序输出
时间: 2024-09-13 15:14:35 浏览: 44
在C语言中,要实现输入三个整数并按照从大到小的顺序排序输出,可以通过比较运算和条件语句来实现。以下是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int a, b, c;
int temp;
// 输入三个整数
printf("请输入三个整数,用空格隔开: ");
scanf("%d %d %d", &a, &b, &c);
// 比较并交换,确保a是最大的数
if (a < b) {
temp = a;
a = b;
b = temp;
}
if (a < c) {
temp = a;
a = c;
c = temp;
}
// 此时a已经是从大到小的最大数,只需要比较b和c
if (b < c) {
temp = b;
b = c;
c = temp;
}
// 输出结果
printf("从大到小排序为: %d %d %d\n", a, b, c);
return 0;
}
```
这段代码首先通过`scanf`函数接收用户输入的三个整数,然后使用条件判断和临时变量`temp`进行数值交换,保证`a`变量中的数是最大的,接着比较`b`和`c`的大小,如果`b`小于`c`,则交换它们的值。最后按照从大到小的顺序输出这三个整数。
相关问题
C语言 输入三个整数,要求从大到小排序后输出
在C语言中,对三个整数进行从大到小排序并输出,你可以使用条件语句和临时变量。这里提供一种简单直接的方法:
```c
#include <stdio.h>
void sort(int a[], int size) {
if (size > 1) { // 如果有超过一个元素
int max = a[0]; // 初始化最大值为第一个元素
int max_index = 0;
for (int i = 1; i < size; i++) {
if (a[i] > max) { // 找到当前元素大于最大值的情况
max = a[i];
max_index = i;
}
}
// 交换最大值和第一个位置的元素
int temp = a[0];
a[0] = max;
a[max_index] = temp;
// 递归地对剩下的元素进行排序
sort(a, size - 1);
}
}
int main() {
int numbers[3];
printf("请输入三个整数:");
scanf("%d %d %d", &numbers[0], &numbers[1], &numbers[2]);
sort(numbers, sizeof(numbers) / sizeof(numbers[0]));
printf("按从大到小排序后的结果是:\n");
for (int i = 0; i < 3; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
c语言输入三个整数有由大到小输出
可以使用数组来存储这三个整数,然后使用冒泡排序对它们进行排序。具体实现如下:
```c
#include <stdio.h>
int main() {
int nums[3];
int i, j, temp;
printf("请输入三个整数:\n");
for (i = 0; i < 3; i++) {
scanf("%d", &nums[i]);
}
// 使用冒泡排序对三个数进行排序
for (i = 0; i < 2; i++) {
for (j = 0; j < 2 - i; j++) {
if (nums[j] < nums[j+1]) {
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
printf("从大到小输出:\n");
for (i = 0; i < 3; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
这个程序先从用户那里读入三个整数,然后使用冒泡排序对它们进行排序,最后从大到小输出排序结果。