Camellia.332 2023-02-10 22:41 采纳率: 92.3%
浏览 43
已结题

C语言中二维数组看作一维数组的排序

img


#include <stdio.h> 
#include <string.h> 
void main(){
    char a[6][7]={"Tom","Mary","Jack","Rose","Harry","Alice"};
    int i,j;
    char t[7];
    for(i=0;i<6;i++)
    for(j=0;j<5-i;j++)
    if(strcmp(a[j],a[j+1])>0) {strcpy(t[7],a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],t[7]);}
    else break;
    for(i=0;i<6;i++)
    printf("%s\n",a[i]);
}
  • 写回答

3条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-02-10 22:57
    关注
    • 先看效果:

    img

    • 修改如下:
    #include <stdio.h> 
    #include <string.h> 
    int main(){
        char a[6][7]={"Tom","Mary","Jack","Rose","Harry","Alice"};
        int i,j;
        char t[7];
        for(i=0;i<5;i++)
            for(j=0;j<5-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);
                }
        
        for(i=0;i<6;i++)
            printf("%s\n",a[i]);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月19日
  • 已采纳回答 2月11日
  • 创建了问题 2月10日