1919: 三个整数排序(指针专题)
时间限制: 1 Sec 内存限制: 128 MB提交: 353 解决: 293
[提交][状态][讨论版]
题目描述
输入 a, b, c 三个整数, 使用指针变量使这三个数从大到小排序并输出排序后的结果。
输入
输入三个数
输出
使用指针变量按从大到小排序并输出
样例输入
1 2 3
样例输出
3 2 1
代码:
#include<stdio.h>
int main()
{
int a,b,c,*p1,*p2,*p3,*t; //定义p1,p2,p3,t为整形数据的指针类型
p1=&a; //把a 的地址赋给指针变量p1
p2=&b; //把b 的地址赋给指针变量p2
p3=&c; //把c 的地址赋给指针变量p3
scanf("%d%d%d",p1,p2,p3); //输入三个指针变量
if(*p1<*p2){t=p1;p1=p2;p2=t;} //排序
if(*p1<*p3){t=p1;p1=p3;p3=t;}
if(*p2<*p3){t=p2;p2=p3;p3=t;}
printf("%d %d %d\n",*p1,*p2,*p3); //输出p1,p2,p3所指向的变量的值
return 0;
}
int main()
{
int a,b,c,*p1,*p2,*p3,*t; //定义p1,p2,p3,t为整形数据的指针类型
p1=&a; //把a 的地址赋给指针变量p1
p2=&b; //把b 的地址赋给指针变量p2
p3=&c; //把c 的地址赋给指针变量p3
scanf("%d%d%d",p1,p2,p3); //输入三个指针变量
if(*p1<*p2){t=p1;p1=p2;p2=t;} //排序
if(*p1<*p3){t=p1;p1=p3;p3=t;}
if(*p2<*p3){t=p2;p2=p3;p3=t;}
printf("%d %d %d\n",*p1,*p2,*p3); //输出p1,p2,p3所指向的变量的值
return 0;
}