黑马程序员技术交流社区
标题:
看一下这个c的排序题
[打印本页]
作者:
lichuanlong
时间:
2016-5-29 12:01
标题:
看一下这个c的排序题
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
//二维字符数组
char name[1][6];
//定义一个字符变量用来存储排序后的字符数组
char temp[100];
//遍历的同时可以提示输入
for(int i =0;i<6;i++)
{
printf("请输入第%d个字符串(仅是数字和字母)\n",i+1);
//清空一下变量的空间
rewind(stdin);
//得到每次输入的字符
gets(name[i]);
//遍历进行排序-> 冒泡排序
for(int i = 0;i < 6; i++)
{
for(int j = 0;j < 6-i-1; j++)
{
//定义变量用来确定比较的值
int res = strcmp(name[j],name[j+1]);//strcmp是比较函数
if(res >0)
{
//将一组字符串复制到另一组字符串当中
//string.h头文件中的函数strcpy- > 和用变量来交换排序的值是相同的效果
strcpy(temp, name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],temp);//依次赋最大值
}
}
}
}
//遍历打印循环后的字符串
for(int i = 0;i<6;i++)
{
printf("输出排序后的字符串\n");
gets(name[i]);
}
return 0;
}
//有什么问题 崩了呢???
作者:
tanqichun
时间:
2016-6-2 13:27
来学习一下,顶一个
作者:
张小景
时间:
2016-6-2 20:05
要考虑复制到另一个字符串数组中长度是否够
作者:
huzhiqiang
时间:
2016-6-2 21:04
这个是要实现啥需求哦, 看到后面就不知道了 后面是要打印出来吧,后面那个gets应该是puts吧`````
作者:
冬以
时间:
2016-6-3 23:12
来学习学习
作者:
dongkuan
时间:
2016-6-3 23:43
这个[1][6]是一行六列,应该是个一维字符数组吧
作者:
浮云我想听你说
时间:
2016-6-4 21:38
声明数组最好用指针变量来表示 ,这样无视元素的长度
作者:
浮云我想听你说
时间:
2016-6-4 21:40
试试指针数组吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2