首页
IT
登录
6mi
u
盘
搜
搜 索
IT
2.输入5个数(含负数、小数)将它们按由小到大的顺序排列起来
2.输入5个数(含负数、小数)将它们按由小到大的顺序排列起来
xiaoxiao
2021-03-26
24
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;
}
这题难点在于如何对不同类型的数进行输入,判断,以及输出,按照提示,用的是主函数传递字符串,然后用字符串转换转化。通过对数字数组和字符串数组同步操作完成比较。
转载请注明原文地址: https://ju.6miu.com/read-661558.html
技术
最新回复
(
0
)