您的位置:首页 > 其它

2.输入5个数(含负数、小数)将它们按由小到大的顺序排列起来

2017-02-05 18:36 344 查看

1. 输入5个数(含负数、小数)将它们按由小到大的顺序排列起来

提示:需要排数的数字通过参数传递进来,

例如:输入:./a.out  -1  2.1  -3  5  7
输出: -3 -1 2.1 5 7


#include<stdio.h>
#include<stdlib.h>
int main(int argc , char* argv[])

{

    int i , j ,k = 1;

    float ato[7] = { 0 };

    float tmp;

    char* ch[100];

    for( i = 1;i < argc;i ++)

    printf("%s ",argv[i]);

    printf("\n");

   

    for( i = 1; i < argc;i ++)

     {

      ato[i] =atof(argv[i]);

     }

    for( i = 1;i <= 4 ; i ++ )

     {

         for( j = 1; j <= 5 -i ;j ++)

           {

        if( ato[j] >ato[j + 1]  )

          {

                tmp = ato[j+1];

                ato[j +1] = ato[j];

                ato[j]=tmp;

                ch[k] = argv[j+1];

                argv[j+1]=argv[j];

                argv[j]=ch[k];

                    k ++;

           } 

       }

     }

    

     for( i = 1;i < argc; i ++)

    {

        printf(" %s",argv[i]);

   }

   printf("\n");

    return 0;

}


这题难点在于如何对不同类型的数进行输入,判断,以及输出,按照提示,用的是主函数传递字符串,然后用字符串转换转化。通过对数字数组和字符串数组同步操作完成比较。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐