weixin_55500978
weixin_55500978
2021-05-19 11:58
采纳率: 100%
浏览 39

如何用冒泡法和简单选择法对6个字符串降序并输出?

非常感谢,急,多谢各位大佬援助6666666666666666

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • technologist_36
    CSDN专家-sinjack 2021-05-19 12:11
    已采纳
    #include 
    #include 
    #define MAXLINE 20
    void fun ( char *pstr[6])
    {   int  i, j ;
        char *p ;
    
        for (i = 0 ; i < 5 ; i++ ) {
          for (j = i + 1; j < 6; j++) {
            if(strcmp(*(pstr + i), (pstr + j)) > 0)
            {
                p = *(pstr + i) ;
                *(pstr + i) = pstr + j ;
                *(pstr + j) = p ;
            }
          }
        }
    }
    
    main( )
    {   int i ;
        char *pstr[6], str[6][MAXLINE] ;
    
        clrscr( ) ;
        for(i = 0; i < 6 ; i++) pstr[i] = str[i] ;
        printf( "\nEnter 6 string(1 string at each line): \n" ) ;
        for(i = 0 ; i < 6 ; i++) scanf("%s", pstr[i]) ;
        fun(pstr) ;
        printf("The strings after sorting:\n") ;
        for(i = 0 ; i < 6 ; i++) printf("%s\n", pstr[i]) ;
    }

    对6个字符串进行冒泡排序的。

    点赞 评论
  • technologist_36
    CSDN专家-sinjack 2021-05-19 12:23
    #include 
    #include 
    #define MAXLINE 20
    void fun ( char *pstr[6])
    {   int  i, j ;
        char *p *min;
        for (i = 0 ; i < 5 ; i++ ) {
          min = i;
          for (j = i + 1; j < 6; j++) {
            if(strcmp(*(pstr + i), (pstr + j)) > 0)
            {
                min=*(pstr + j);
            }
          }
            if(strcmp(*(pstr + i),*min) != 0)
    		{
    			p = *(pstr + i) ;
                *(pstr + i) =min;
                min = p ;
    		}
        }
    }
    main( )
    {   int i ;
        char *pstr[6], str[6][MAXLINE] ;
        clrscr( ) ;
        for(i = 0; i < 6 ; i++) pstr[i] = str[i] ;
        printf( "\nEnter 6 string(1 string at each line): \n" ) ;
        for(i = 0 ; i < 6 ; i++) scanf("%s", pstr[i]) ;
        fun(pstr) ;
        printf("The strings after sorting:\n") ;
        for(i = 0 ; i < 6 ; i++) printf("%s\n", pstr[i]) ;
    }

    对6个字符串进行简单选择排序的。

    点赞 1 评论
  • technologist_36
    CSDN专家-sinjack 2021-05-19 12:01

    百度找一下,一大堆的。

    点赞 评论
  • mahui_1980
    mahui_1980 2021-05-19 12:06

    #include <stdio.h>
    int main()
    {
        int i,j,t,a[10];    //定义变量及数组为基本整型
        printf("请输入10个数:\n");
        for(i=0;i<10;i++)
            scanf("%d",&a[i]);    //从键盘中输入10个数
        for(i=0;i<10;i++)    //变量i代表比较的趟数
            for(j=0;j<10-i;j++)    //变最j代表每趟两两比较的次数
                if(a[j]<a[j+1])
                {
                    t=a[j];    //产利用中间变童实现两值互换
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
                printf("排序后的顺序是:\n");
                for(i=1;i<=10;i++)
                    printf("%5d",a[i]);    //将胃泡排序后的顺序输出
            printf("\n");
        return 0;
    }

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-19 14:01

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐