对字符串排序怎么有时不输出呢?

sevenweapons 2009-10-22 04:59:53
#include<stdio.h>
#include<string.h>
#include<iostream.h>
int main()//对四个字符串排序
{
void sort(char (*s)[6]);//形参为指向6个字符串数组的指针
int i;
char str[4][6];
char (*p)[6];
cout<<"input the four words:"<<endl;
for(i=0;i<4;++i)
cin>>str[i];
p=str;//输入字符串后使指针指向str[4][6];
sort(p);//使实参也是指针
cout<<"now new array is:"<<endl;
for(i=0;i<4;++i)
cout<<str[i]<<" ";
return 0;
}
void sort(char (*s)[6])//排序函数
{
int i,j;
char temp[6];
char *t=temp;
for(i=0;i<3;++i)
for(j=i+1;j<4;++j)
{
if(strcmp(s[j],s[i])<0)
{
strcpy(t,s[j]);
strcpy(s[j],s[i]);
strcpy(s[i], t );
}
}
}


...全文
107 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
slowgrace 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sevenweapons 的回复:]
我把下标改为20了,好像能行了,系统是不是把回车也算进去了?[/Quote]
不算。

[Quote=引用 13 楼 sevenweapons 的回复:]
顺便问一下,我安装的VC6.0不管程序怎么样系统始终只报一个错1 error(s),但按F4按几下,他有会向下指向几个错误来,但那个1从来不会变成2,这个是不是安装错了,我老是担心这个。
[/Quote]
F4不仅遍历错误errors,也遍历warnings。
虽然警告的地方可以通过编译,但通常会带来隐患,最好都更正成为比较安全的写法。
sevenweapons 2009-10-22
  • 打赏
  • 举报
回复
指教下结贴去吃饭了。多谢。
sevenweapons 2009-10-22
  • 打赏
  • 举报
回复
我把下标改为20了,好像能行了,系统是不是把回车也算进去了?算了以后就用string或者指针数组来做了,这个有点难,多谢二位了,顺便问一下,我安装的VC6.0不管程序怎么样系统始终只报一个错1 error(s),但按F4按几下,他有会向下指向几个错误来,但那个1从来不会变成2,这个是不是安装错了,我老是担心这个。
zq4235609 2009-10-22
  • 打赏
  • 举报
回复
字符串长度问题,比如把6全改为7,就可以正常排序了
slowgrace 2009-10-22
  • 打赏
  • 举报
回复
注意,因为每个字符串最后要自动加上'\0',所以实际上你输入的字符串只能有5个字符,否则就会越界。
wanjingwei 2009-10-22
  • 打赏
  • 举报
回复
字符长度超出了,你把那个[6]改大点就没事了
slowgrace 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sevenweapons 的回复:]
而且把四个字符串放在一行也是没显示。
[/Quote]

我这里试是正常。注意:放在一行也要保证每个字符串长度不超过6.
sevenweapons 2009-10-22
  • 打赏
  • 举报
回复
而且把四个字符串放在一行也是没显示。
slowgrace 2009-10-22
  • 打赏
  • 举报
回复
你是不是输入的字符串长度超过6了?那样会抛出异常的。
sevenweapons 2009-10-22
  • 打赏
  • 举报
回复
我输入的是gooden回车boolen回车,helloe回车manyen回车,结果系统还在等我输入。这是怎么回事呢。
wanjingwei 2009-10-22
  • 打赏
  • 举报
回复
试了下可以排,你输入什么的时候不输出,给个例子
sevenweapons 2009-10-22
  • 打赏
  • 举报
回复
你们可以在机上试试看。我菜鸟,是在不知道哪里错了。
slowgrace 2009-10-22
  • 打赏
  • 举报
回复
我刚用VC6试了几次,好像都是对的。
slowgrace 2009-10-22
  • 打赏
  • 举报
回复
什么时候不输出?不妨给出没输出时的输入。
sevenweapons 2009-10-22
  • 打赏
  • 举报
回复
我用的编译器是VC6.0,可是有时候他排序有时候不排,有时候是错的有时候是对的,这是怎么回事?各位帮忙,

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧