永发信息网

用vc++命令行参数实现数字从大到小排序

答案:1  悬赏:80  手机版
解决时间 2021-11-21 11:28
  • 提问者网友:十年饮冰
  • 2021-11-20 23:41
用vc++命令行参数实现数字从大到小排序
最佳答案
  • 五星知识达人网友:孤独的牧羊人
  • 2021-11-21 01:03
如果是控制程序,主函数和入口可以带参数的,第二个参数为字符串 指针数组,第一个参数是整形,指明第二个参数包含几个字符串指针(其中第一个字符串为链接后程序的文件名,其它字符串为命令行参数。如 通过 "aaa.exe 1 2 3 4 5 6 7 "启动程序;以下为程序的源文件,则:
#include 
#include 
int main( int argc char *argv[])
{
    //argc: 字符串数,等于8
    //argv: 字符串指针数组, 分别为‘aa.exe’ , '1', '2' , .....'7';
    //用户这时就可以用各种方法对argv 进行排序了。
    //如果参数是数字,可以用 atoi 、atof 等把字符串转变成 数字,以便比较
    //下面以对参数按字符串方式排序 简单的 冒泡法
    int i,j;
    for( i = 1; i< argc - 1; i++)
    {
        for( j = i+1; i< argc ; i++)
        {
            char * tmp;
            if ( strcmp( argv[i] ,argv[j] < 0)
            {    
                tmp = argv[i],argv[i] = argv[j],argv[j] = tmp;
            }
        }
    }
    //输出    
    for(int i = 1; i< argc ; i++)
        printf("%s
", argv[i]);
    return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯