C语言,输入三个整数,按由小到大的顺序输出(用指针和非指针两种方式完成)
时间: 2023-11-02 21:05:16 浏览: 43
使用指针实现:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c){
int temp;
if(*a > *b){
temp = *a;
*a = *b;
*b = temp;
}
if(*b > *c){
temp = *b;
*b = *c;
*c = temp;
if(*a > *b){
temp = *a;
*a = *b;
*b = temp;
}
}
}
int main(){
int a, b, c;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}
```
使用非指针实现:
```c
#include <stdio.h>
void sort(int a, int b, int c, int *small, int *medium, int *big){
if(a > b){
if(b > c){
*small = c;
*medium = b;
*big = a;
}else{
if(a > c){
*small = b;
*medium = c;
*big = a;
}else{
*small = b;
*medium = a;
*big = c;
}
}
}else{
if(a > c){
*small = c;
*medium = a;
*big = b;
}else{
if(b > c){
*small = a;
*medium = c;
*big = b;
}else{
*small = a;
*medium = b;
*big = c;
}
}
}
}
int main(){
int a, b, c;
int small, medium, big;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(a, b, c, &small, &medium, &big);
printf("%d %d %d\n", small, medium, big);
return 0;
}
```