c语言键盘上输入3个整数按照生序排序
时间: 2023-05-18 14:06:17 浏览: 119
以下是一个简单的 C 语言程序,可以实现输入三个整数并按照升序排序:
```
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
if (a > b) {
int t = a;
a = b;
b = t;
}
if (a > c) {
int t = a;
a = c;
c = t;
}
if (b > c) {
int t = b;
b = c;
c = t;
}
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
输入三个整数后,程序会使用三个 if 语句来比较它们的大小,并将它们按照升序排序。最后,程序会输出排序后的结果。
相关问题
用c语言从键盘上输入3个整数,按照升序排序,最后输出结果。 输入格式: 输入三个整数,中间用空格分隔。 输出格式: 输出三个整数,中间用英文逗号分隔,最后换行。
```c
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a > b) {
int temp = a;
a = b;
b = temp;
}
if (b > c) {
int temp = b;
b = c;
c = temp;
}
if (a > b) {
int temp = a;
a = b;
b = temp;
}
printf("%d,%d,%d\n", a, b, c);
return 0;
}
```
C语言从键盘输入n个整数,按照从大到小排序输出
在C语言中,你可以使用数组和标准库函数`qsort()`来实现这个功能。首先,你需要创建一个动态数组来存储输入的n个整数,然后读取用户输入并将其添加到数组中,接着调用`qsort()`对数组进行降序排列,最后遍历并打印排序后的数组。
下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
// 用于比较两个整数的辅助函数,这里是降序排序
int compare(const void *a, const void *b) {
return (*(int*)b - *(int*)a); // 负值表示 a 应该排在 b 前面,即降序
}
void input_and_sort(int arr[], int n) {
int i;
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
qsort(arr, n, sizeof(int), compare); // 对数组进行降序排序
printf("按从大到小排序后的结果是:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int n;
printf("请输入元素个数:");
scanf("%d", &n);
int* arr = malloc(n * sizeof(int)); // 动态分配内存
if (!arr) {
perror("Memory allocation failed");
return 1;
}
input_and_sort(arr, n);
free(arr); // 别忘了释放内存
return 0;
}
```
在这个例子中,`compare()`函数告诉`qsort()`如何比较数组元素,而`input_and_sort()`函数负责输入、排序以及输出。注意,如果内存分配失败,我们需要处理错误并释放已分配的内存。
阅读全文