A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码如下:
#include <stdio.h>
#include <string.h>
#define row 6      //宏定义  行数
#define col 10     //宏定义  列数

//用冒泡排序来对字符串进行排序
void bubbleSortStrings(char array[][col]){
   
    for (int i = 0; i < row - 1; i++) {
        
        for (int j = 0; j < row - 1 - i; j++) {
            if (strcmp(array[j], array[j + 1]) > 0) {
                //交换二维数组中每一行的字符串
                char temp[col];
                strcpy(temp, array[j]);
                strcpy(array[j], array[j + 1]);
                strcpy(array[j + 1], temp);
               
            }
        }
        
    }
   
}

int main(int argc, const char * argv[]) {
    //定义一个二维数组用来接收用户输入的字符串
    char array[row][col];
   
    //循环接收用户输入的字符串,并存储在二维数组中
    for (int i = 0; i < row; i++) {
        
        printf("请输入第%d个字符串(只含字母与数字,并且长度小于10字节):",i + 1);
        rewind(stdin);
        scanf("%s",array[i]);
        
    }
   
    //调用冒泡排序
    bubbleSortStrings(array);
   
    printf("===========华丽的分割线==============\n\n");
   
    //打印排序后的二维数组
    for (int i = 0; i < row; i++) {
        
        printf("排序后第%d个字符串为:%s\n",i + 1,array[i]);
        
    }
   
   
    return 0;
}

9 个回复

倒序浏览
回复 使用道具 举报
小白,不懂交换时,怎么成了一维数组了?
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
排序一直很重要
回复 使用道具 举报

哥们,我知道是 c,问题是基础班不就是先学C基础,然后在学OC吗?一上来你没有C基础能听懂OC吗?
回复 使用道具 举报
呉HENG 发表于 2017-6-12 13:37
排序一直很重要

恩,是的,我们学的都是皮毛,只会冒泡和选择.
回复 使用道具 举报

有时间记得来评论哦
回复 使用道具 举报
kfz0507 发表于 2017-6-12 22:18
哥们,我知道是 c,问题是基础班不就是先学C基础,然后在学OC吗?一上来你没有C基础能听懂OC吗? ...

我是ee的
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马