Problem C: 指针:调用自定义交换函数,完成5个浮点数从小到大排列
Description
自定义函数swap(float *p1, float *p2),调用它完成任意5个浮点数从小到大排列。
Input
多组测试数据,每组输入5个任意浮点数。
Output
输出从小到大排列的5个数,输出一位小数,数据之间空格隔开。
Sample Input
5.5 4.4 3.3 2.2 1.1
3.1 2 0 7.2 5.4
7.2 -3.4 0 -2 1.2
Sample Output
1.1 2.2 3.3 4.4 5.5
0.0 2.0 3.1 5.4 7.2
-3.4 -2.0 0.0 1.2 7.2
#include<stdio.h>
int main(){
void swap(float *p1,float *p2);
float a,b,c,d,e;
while(scanf("%f%f%f%f%f",&a,&b,&c,&d,&e)!=EOF){
swap(&a,&b);swap(&a,&c);swap(&a,&d);swap(&a,&e);
swap(&b,&c);swap(&b,&d);swap(&b,&e);
swap(&c,&d);swap(&c,&e);
swap(&d,&e);
printf("%.1f %.1f %.1f %.1f %.1f\n",a,b,c,d,e);
}
return 0;}
void swap(float *p1,float *p2){
float xyz;
if(*p1>*p2){
xyz=*p1;
*p1=*p2;
*p2=xyz;
}
}