| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:改自论坛里一同学的题目,我现在也搞不清楚了,求助!
只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
收藏
 问题点数:0 回复次数:9 
改自论坛里一同学的题目,我现在也搞不清楚了,求助!
#include<stdio.h>
#include<string.h>
int main()
{
    char c[6][50],tem[50];
     
    char *p;
    int i,j;
    p=c[0];
    for(i=0; i<5; i++)
        gets(c[i]);
        
         for(i=0; i<5; i++,p++)
            for(j=i+1;j<=5;j++)
               if(strcmp(*p,*(p+j))>0
                       tem[50]=*(*p+j);
                           *(p+j)=*p;
                           *p=tem[50];
                           
            for(i=0; i<5; i++)
            puts(c[i]);
}
                           
 就是输入5句话,按长度排序                  
                    
            

[ 本帖最后由 a271885843 于 2011-12-12 22:06 编辑 ]
搜索更多相关主题的帖子: include 
2011-12-12 21:42
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
谁能指点迷津啊

认为事物非黑即白是缺智慧的表现……
2011-12-12 22:06
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
唉。死气沉沉的

认为事物非黑即白是缺智慧的表现……
2011-12-12 22:14
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
还有就是语法if(strcmp(*p,*(p+j))>0,这里少了一个),加上之后还是不行。
这个代码的意思是输入5句话,然后按5句话的长度排序输出

认为事物非黑即白是缺智慧的表现……
2011-12-12 22:42
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
tem[50]=*(*p+j);
 *(p+j)=*p;
 *p=tem[50];

这三句存在明显的错误,1、tem[50]只能存一个字符,*p指向一个字符串 2、他们不能直接用=号赋值,见strcpy
2011-12-12 22:57
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用czz5242199在2011-12-12 22:57:11的发言:

tem[50]=*(*p+j);
 *(p+j)=*p;
 *p=tem[50];
 
这三句存在明显的错误,1、tem[50]只能存一个字符,*p指向一个字符串 2、他们不能直接用=号赋值,见strcpy
嗯。1个问题我明白了。还有就是为什么不能直接用=赋值?

认为事物非黑即白是缺智慧的表现……
2011-12-12 23:07
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用czz5242199在2011-12-12 22:57:11的发言:

tem[50]=*(*p+j);
 *(p+j)=*p;
 *p=tem[50];
 
这三句存在明显的错误,1、tem[50]只能存一个字符,*p指向一个字符串 2、他们不能直接用=号赋值,见strcpy
我是不是这样理解比较好一点,tem[50]在这里可以存放一个字符串,但是如果是传递字符串的话,他只能接受一个字符?或者要用for循环才能把字符传递完?

认为事物非黑即白是缺智慧的表现……
2011-12-12 23:13
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:0 
回复 7楼 a271885843
不是,这里的tem[50]是不错在的,看来数组你还没有搞清楚啊,只有定义的时候表示一个完整的数组,后面tem[xx]只是表示数组tem[50]中的某个元素
2011-12-13 00:20
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用luchar在2011-12-13 00:20:33的发言:

不是,这里的tem[50]是不错在的,看来数组你还没有搞清楚啊,只有定义的时候表示一个完整的数组,后面tem[xx]只是表示数组tem[50]中的某个元素
嗯。懂了

认为事物非黑即白是缺智慧的表现……
2011-12-13 00:30
strivelong87
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:68
专家分:159
注 册:2011-11-24
收藏
得分:0 
呵呵
2011-12-13 09:14
快速回复:改自论坛里一同学的题目,我现在也搞不清楚了,求助!
数据加载中...
 
   



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

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