输入5个数(含负数、小数)将它们按由小到大的顺序排列起来提示:需要排数的数字通过参数传递进来, 例如:输入:./a.out -1 2.1 -3 5 7 输出: -3 -1 2.1 5 7

此题可以理解为五个数进行冒泡排序

用功能函数体现。

  1 #include <stdio.h>
  2 
  3 
  4 void fun(float a[],int len);
  5 int main()
  6 {
  7     float a[5]={0};
  8     int i;
  9     int len=sizeof(a)/sizeof(a[0]);
 10     printf("please input 5 numbers:\n");
 11     for(i=0;i<len;i++)
 12     {
 13         scanf("%f",&a[i]);
 14     }
 15     fun(a,len);
 16     return 0;
 17 }
 18 
 19 void fun(float a[],int len)
 20 {
 21     int i,j;
 22     float tmp;
 23     for(i=0;i<len-1;i++)
 24         for(j=0;j<len-i-1;j++)
 25         {
 26             if(a[j+1]<a[j])
 27             {
 28                 tmp=a[j];
 29                 a[j]=a[j+1];
 30                 a[j+1]=tmp;
 31             }
 32         }
 33         for(i=0;i<len;i++)
 34             printf("%f ",a[i]);
 35         printf("\n");
 36 }

猜你喜欢

转载自blog.csdn.net/weixin_42720703/article/details/81192720
今日推荐