输入三个整数从小到大输出
时间: 2024-09-20 11:13:35 浏览: 39
有两种方法可以将输入的三个整数从小到大输出。第一种方法是使用常规计算,通过比较大小并交换位置来实现。第二种方法是使用指针计算,通过指针操作来实现。两种方法的代码实现如下:
方法一:常规计算
```
#include <stdio.h>
int main() {
int data1;
int data2;
int data3;
int datatmp;
printf("请输入三个数:\n");
scanf("%d%d%d", &data1, &data2, &data3);
//data1和data2判断,让data1为小数
if (data1 > data2) {
datatmp = data1; data1 = data2;
data2 = datatmp;
}
//data1和data3判断,让data1为小数,这时候data1是最小数
if (data1 > data3) {
datatmp = data1;
data1 = data3;
data3 = datatmp;
}
//data2和data3判断,求出中间的数和最大数
if (data2 > data3) {
datatmp = data2; data2 = data3;
data3 = datatmp;
}
printf("%d,%d,%d\n", data1, data2, data3);
}
```
方法二:指针计算
```
#include <stdio.h>
void two(int *aq1, int *aq2) {
int temp;
temp = *aq1;
*aq1 = *aq2; *aq2 = temp;
}
void one(int *a1, int *a2, int *a3) {
if (*a1 > *a2) two(a1, a2);
if (*a1 > *a3) two(a1, a3);
if (*a2 > *a3) two(a2, a3);
}
int main() {
int a, b, c;
int *p1, *p2, *p3;
printf("请任意输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
p1 = &a;
p2 = &b;
p3 = &c;
one(p1, p2, p3);
printf("%d %d %d", a, b, c);
}
```
阅读全文