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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 54hxd52lj 于 2014-6-2 10:23 编辑

从键盘输入6个字符串(仅仅包含英文字母和数字),对这6个字符串从小到大排列并输出结果。
  1. #include<stdio.h>    //头文件
  2. #include<string.h>    //头文件
  3. void main()     //主函数
  4. {
  5. char string[20];    //定义数组string,容量为20个字符
  6. char str[6][20];    //定义二维数组,共6个,每个20个字符
  7. char t[20];      //定义数组temp,容量为20个字符
  8. int i,j;      //定义整形变量
  9. for(i=1;i<=6;i++)      //进行6次循环
  10.     gets(str[i]);      //循环为6个一维数组赋值
  11. for(j=1;j<=6;j++)      //进行6次循环
  12. {
  13.          for(i=1;i<=6-j;i++)    //进行5次循环
  14.          {
  15.             if(strcmp(str[i],str[i+1])>0)   //判断,如果该数组比下一个数组大,执行
  16.         {
  17.             strcpy(t,str[i]);            //将该数组复制到数组temp中
  18.             strcpy(str[i],str[i+1]);     //将下一个数组复制到该数组中
  19.             strcpy(str[i+1],t);          //将数组temp复制到该数组中
  20.                 }   
  21.     }
  22. }
  23. for(i=1;i<=6;i++)        //进行6次循环
  24. printf("%s\n",str[i]);   //从小到大输出6个数组
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
wanzhu159 + 1

查看全部评分

2 个回复

倒序浏览
冒泡排序的算法是没错的。  char str[6][20];  你的数组开小了 开成7就够了
回复 使用道具 举报 1 0
夏沫的黄昏′ 发表于 2014-6-1 11:40
冒泡排序的算法是没错的。  char str[6][20];  你的数组开小了 开成7就够了

哦哦,多谢啦,我改过来试试。:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马