| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 635 人关注过本帖
标题:费解!第八行用大于号可升序,用小于号不能降序,为啥阿
只看楼主 加入收藏
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:11 
费解!第八行用大于号可升序,用小于号不能降序,为啥阿
#include<stdio.h>
#include<string.h>
void main()
{int i,j;
 char a[3][10]={"tom","jack","linda"},t[20];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
    if(strcmp(a[j],a[j+1])<0)
    {strcpy(t,a[j]); strcpy(a[j],a[j+1]); strcpy(a[j+1],t);}

  puts(a[0]);
  puts(*(a+1));
  puts(*(a+2));

}要实现3行的降序排列
搜索更多相关主题的帖子: include 大于号 
2013-12-09 22:03
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:15 
   两个 for 里面的条件都写错了

for(i=0;i<2;i++)
for(j=0;j<2;j++)   

不然你后的的 a[j+1]越界了

三十年河东,三十年河西,莫欺少年穷!
2013-12-09 22:27
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:3 
可能是我知识匮乏了。。。
我总感觉比较久有问题,请大神指导。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-10 16:47
夜忆梦瑰
Rank: 2
等 级:论坛游民
帖 子:15
专家分:24
注 册:2013-12-10
收藏
得分:0 
可以啊,为什么不行?我试过可以的啊!!两个循环判断条件改为<2
2013-12-10 17:31
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
不知道。我试了一下,编译就不过。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-10 17:48
夜忆梦瑰
Rank: 2
等 级:论坛游民
帖 子:15
专家分:24
注 册:2013-12-10
收藏
得分:0 
不会吧,我就改了<2,其他的没动,大于小于互换几次,都行的啊!!
2013-12-10 17:51
wht750109
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:49
专家分:151
注 册:2013-10-21
收藏
得分:0 
for(i=0;i<3;i++)/*i循环两次就行,三次也无妨,多空循环一下,没可比的值了*/
for(j=0;j<3;j++)/*j<3,待j==2时,if里引用j+1,超过了你的字符串列,应j<2,*/
    if(strcmp(a[j],a[j+1])<0)
2013-12-10 17:53
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
我也改成2   就是编译不过。。。等大神指导

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-10 17:54
夜忆梦瑰
Rank: 2
等 级:论坛游民
帖 子:15
专家分:24
注 册:2013-12-10
收藏
得分:0 
那你程序发上来看看?
2013-12-10 18:03
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
#include<stdio.h>
#include<string.h>
void main()
{int i,j;
char a[3][10]={"jack","tom","linda"};
char t[20];
for(i=0;i<2;i++)
for(j=0;j<2;j++)
    if(strcmp(a[j],a[j+1])<0)
    {
        strcpy(t,a[j]);
        strcpy(a[j],a[j+1]);  
        strcpy(a[j+1],t);
    }

  puts(a[0]);
  puts(*(a+1));
  puts(*(a+2));

}

错了 是编译过了。打印就错误。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-10 18:08
快速回复:费解!第八行用大于号可升序,用小于号不能降序,为啥阿
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013867 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved