用C语言写出程序输入三个整数,按照升序排列并输出。 【输入形式】
时间: 2023-03-14 19:39:29 浏览: 169
三个整数a, b, c【输出形式】按照升序排列后的三个整数【C语言程序】#include <stdio.h>int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c); //输入三个整数
int temp;
if (a > b) { //使用if判断a和b的大小,交换a和b的位置
temp = a;
a = b;
b = temp;
}
if (b > c) { //使用if判断b和c的大小,交换b和c的位置
temp = b;
b = c;
c = temp;
}
if (a > b) { //使用if判断a和b的大小,交换a和b的位置
temp = a;
a = b;
b = temp;
}
//最后三个整数按照升序排列
printf("%d %d %d\n", a, b, c);
return 0;
}
相关问题
C语言写程序给定若干不同的整数构成的升序序列,请编写一个程序,找出序列中有多少个数是序列中其他两个数的平均值。 输入数据 输入有多组测试样例。 每组测试样例的第一行为一个整数n(3≤n≤1000) 。 第二行为n 个不同的正整数,为该序列中的各个元素。所有的元素以升序排列,保证每个元素不超过109 。 输出数据 对每组测试样例,请在单独的行中输出所求的结果。
以下是 C 语言的程序实现:
```c
#include <stdio.h>
int main()
{
int n;
while (scanf("%d", &n) == 1) {
int a[1000];
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
int cnt = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
int avg = (a[i] + a[j]) / 2;
for (int k = i + 1; k < j; k++) {
if (a[k] == avg) {
cnt++;
break;
}
}
}
}
printf("%d\n", cnt);
}
return 0;
}
```
程序中使用了三重循环,其中第一重循环枚举序列中的每个数,第二重循环枚举序列中比当前数大的数,第三重循环在这两个数之间寻找平均值,并判断是否在序列中出现过。如果出现过,则将计数器加一。最终输出计数器的值即为答案。
需要注意的是,输入数据可能包含多组测试样例,因此需要使用循环来读入多组数据。
请用c语言写一个对三个数进行大小排序的程序
当然可以,这里是一个简单的C语言程序,使用冒泡排序算法来对三个整数进行升序排列:
```c
#include <stdio.h>
// 定义比较函数,用于交换两个数
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 冒泡排序函数
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 如果当前元素大于下一个元素,则交换它们
swap(&arr[j], &arr[j + 1]);
}
}
}
}
int main() {
int numbers[3];
printf("请输入三个数字:\n");
scanf("%d %d %d", &numbers[0], &numbers[1], &numbers[2]);
bubble_sort(numbers, 3); // 对数组进行排序
printf("排序后的结果为:\n");
for (int i = 0; i < 3; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
这个程序首先让用户输入三个整数,然后通过冒泡排序算法将它们按照从小到大的顺序排列,并打印出结果。
阅读全文