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

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

#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个字符串进行冒泡排序的。

#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个字符串进行简单选择排序的。

百度找一下,一大堆的。

#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;
}

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

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

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