橘子辉煌的十二画
2021-06-25 15:18
采纳率: 66.7%
浏览 15

C语言 冒泡排序法 数组

#include<stdio.h>

#include<string.h>

main()

{ char a[5][10]={“china”,”beijing”,”you”,”tiananmen”,”welcome”};

int i,j; char t[10];

for(i=0;i<4;i++)

  for(j=i+1;j<5;j++)

   if(strcmp(a[i],a[j])>0)

   { strcpy(t,a[i]);  strcpy(a[i],a[j]);  strcpy(a[i],t);}

 puts(a[3]);

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

3条回答 默认 最新

  • CSDN专家-link 2021-06-25 15:33
    已采纳

    是要找问题么

    for(i=0;i<4;i++)
    
      for(j=0;j<4-i;j++)
    
       if(strcmp(a[j],a[j+1])>0)
    
       { strcpy(t,a[j]);  strcpy(a[j],a[j+1]);  strcpy(a[j+1],t);}
    已采纳该答案
    打赏 评论
  • 自信男孩 2021-06-25 15:59
    #include<stdio.h>
    
    #include<string.h>
    
    int main()
    
    {
        char a[5][10]={ "china", "beijing", "you", "tiananmen", "welcome"};
        char t[10];
        int i,j;
    
        for(i=0;i<4;i++)
    
            for(j=i+1;j<5;j++)
    
                if(strcmp(a[i],a[j])>0)
    
                {
                    strcpy(t,a[i]);
                    strcpy(a[i],a[j]);
                    //strcpy(a[i],t);
                    strcpy(a[j],t);
                }
    
        for (i = 0; i < 5; i++)
            puts(a[i]);
    }
    
    

    供参考~

     

    注意字符串双引号是英文的,不能是中文的。注意下表的操作;

    1 打赏 评论
  • qfl_sdu 2021-06-25 16:05

    冒泡排序的循环是:

    for(i=0;i<n-1;i++)

        for(j=0;j<n-1-i;j++)

    代码修改如下:

    #include<stdio.h>
    #include<string.h>
    void main()
    {
    	char a[5][10]={"china","beijing","you","tiananmen","welcome"};
    	int i,j; 
    	char t[10];
    	for(i=0;i<4;i++)
    		for(j=0;j<4-i;j++)
    			if(strcmp(a[i],a[j])>0)
    			{
    				strcpy(t,a[i]);
    				strcpy(a[i],a[j]);
    				strcpy(a[i],t);
    			}
    
    	puts(a[3]);
    }
    打赏 评论

相关推荐 更多相似问题