黑马程序员技术交流社区
标题:
C语言编程,不知道是哪里出错了,运行结果不正确,求大...
[打印本页]
作者:
54hxd52lj
时间:
2014-5-31 20:28
标题:
C语言编程,不知道是哪里出错了,运行结果不正确,求大...
本帖最后由 54hxd52lj 于 2014-6-2 10:23 编辑
从键盘输入6个字符串(仅仅包含英文字母和数字),对这6个字符串从小到大排列并输出结果。
#include<stdio.h> //头文件
#include<string.h> //头文件
void main() //主函数
{
char string[20]; //定义数组string,容量为20个字符
char str[6][20]; //定义二维数组,共6个,每个20个字符
char t[20]; //定义数组temp,容量为20个字符
int i,j; //定义整形变量
for(i=1;i<=6;i++) //进行6次循环
gets(str[i]); //循环为6个一维数组赋值
for(j=1;j<=6;j++) //进行6次循环
{
for(i=1;i<=6-j;i++) //进行5次循环
{
if(strcmp(str[i],str[i+1])>0) //判断,如果该数组比下一个数组大,执行
{
strcpy(t,str[i]); //将该数组复制到数组temp中
strcpy(str[i],str[i+1]); //将下一个数组复制到该数组中
strcpy(str[i+1],t); //将数组temp复制到该数组中
}
}
}
for(i=1;i<=6;i++) //进行6次循环
printf("%s\n",str[i]); //从小到大输出6个数组
}
复制代码
作者:
夏沫的黄昏′
时间:
2014-6-1 11:40
冒泡排序的算法是没错的。 char str[6][20]; 你的数组开小了 开成7就够了
作者:
54hxd52lj
时间:
2014-6-2 10:23
夏沫的黄昏′ 发表于 2014-6-1 11:40
冒泡排序的算法是没错的。 char str[6][20]; 你的数组开小了 开成7就够了
哦哦,多谢啦,我改过来试试。:handshake
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2