c语言写出输入a、b、c三个整数,将他们从小到大的顺序输出
时间: 2023-04-03 21:05:04 浏览: 138
可以使用冒泡排序算法来实现,代码如下:
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int arr[3] = {a, b, c};
int i, j, temp;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2 - i; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
printf("%d %d %d", arr[0], arr[1], arr[2]);
return 0;
}
相关问题
给出三个整数 a,b,c(0\le a,b,c \le 100)a,b,c(0≤a,b,c≤100),要求把这三位整数从小到大排序用C语言写出
一种可能的解法如下:
```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 (a > c) {
int temp = a;
a = c;
c = temp;
}
if (b > c) {
int temp = b;
b = c;
c = temp;
}
printf("%d %d %d", a, b, c);
return 0;
}
```
首先读入三个整数,然后使用三个 if 语句对它们进行排序,每次比较两个数,如果它们的顺序不对就交换它们的值。最后输出排好序的三个整数。
用C语言写输入在第一行先给出非负整数N(<=10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
下面是用C语言实现的代码,可以实现你所描述的功能:
```c
#include <stdio.h>
int main() {
int n, x;
scanf("%d", &n); // 输入整数个数
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]); // 输入n个整数
}
scanf("%d", &x); // 输入要查找的整数
int left = 0, right = n - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (nums[mid] == x) {
printf("%d\n", mid); // 找到了,输出位置
return 0;
} else if (nums[mid] < x) {
left = mid + 1;
} else {
right = mid - 1;
}
}
printf("-1\n"); // 没找到,输出-1
return 0;
}
```
这段代码首先读入整数个数,然后定义一个整型数组 `nums`,并读入 `n` 个整数。接着读入要查找的整数 `x`。然后使用二分查找的思想,在有序数组中查找 `x` 的位置,并输出。如果没找到,输出-1。