用c语言写出输入3个数a,b,c,要求按由小到大的顺序输出,
时间: 2024-04-21 15:07:17 浏览: 13
```c
#include <stdio.h>
int main() {
int a, b, c, temp;
printf("请输入3个数:");
scanf("%d %d %d", &a, &b, &c);
if (a > b) { // 交换a和b的值
temp = a;
a = b;
b = temp;
}
if (a > c) { // 交换a和c的值
temp = a;
a = c;
c = temp;
}
if (b > c) { // 交换b和c的值
temp = b;
b = c;
c = temp;
}
printf("按由小到大的顺序输出:%d %d %d", a, b, c);
return 0;
}
```
相关问题
c语言写出输入a、b、c三个整数,将他们从小到大的顺序输出
可以使用冒泡排序算法来实现,代码如下:
#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;
}
用c语言写出从键盘上输入三个实数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从小到大(改变a,b,c的值)顺序排序。
可以使用以下代码实现:
```c
#include <stdio.h>
void sort(float *p1, float *p2, float *p3) {
float temp;
if (*p1 > *p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p1 > *p3) {
temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if (*p2 > *p3) {
temp = *p2;
*p2 = *p3;
*p3 = temp;
}
}
int main() {
float a, b, c;
printf("请输入三个实数:");
scanf("%f %f %f", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%.2f %.2f %.2f\n", a, b, c);
return 0;
}
```
这段代码中,我们先定义了三个实型变量a、b和c。然后通过scanf函数从键盘上输入它们的值。接下来,我们定义了一个sort函数,它的参数是三个指向float类型的指针变量p1、p2和p3。在sort函数中,我们通过比较指针变量指向的值的大小,交换它们的值,实现了对a、b和c的排序。最后在main函数中,我们调用sort函数,将a、b和c的地址作为参数传递给它。然后输出排序后的结果。需要注意的是,这个过程中a、b、c的值已经被改变。