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;
}
{
int i , j ,k = 1;
float ato[7] = { 0 };
float tmp;
char* ch[100];
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;
}