| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1812 人关注过本帖, 1 人收藏
标题:大神求解,本人只学过一些简单的编程
只看楼主 加入收藏
清风莫言
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-6-2
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:4 
大神求解,本人只学过一些简单的编程
逆序打印输入的各个单词。
输入示范:this is a test
输出示范:test a is this
搜索更多相关主题的帖子: 单词 
2016-06-02 22:20
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:5 
#include <stdio.h>
#include <string.h>
main()
{
    char s[]={"this is a test\0"};
    char *p=s+strlen(s)-1;
    for (; p>=s; p--)
        if (*p == ' ')
        {
            printf("%s ", p+1);
            *p = 0;
        }
    printf("%s\n", p+1);   
}


[此贴子已经被作者于2016-6-3 09:31编辑过]

2016-06-03 09:30
char_program
Rank: 2
等 级:论坛游民
威 望:1
帖 子:16
专家分:83
注 册:2016-5-12
收藏
得分:5 
出现什么错误?
2016-06-05 19:34
FizzyElf
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2016-6-2
收藏
得分:5 
回复 2楼 吹水佬
这是为什么呢???

O(∩_∩)O
2016-06-07 00:57
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:5 
回复 4楼 FizzyElf
前辈已经写了,楼主还看不明白哇?
我再说一下,这是逆序打印。
用数组保存字符串,在for循环中,不超过数据长度下标的递减循环,打印出字符。
用一个简单的举例,比如说:
int a[3]={1,2,3};
这样,长度就为3,即a[0]=1,a[1]=2,a[2]=3
按正序排序就是
for(int i=0;i<3;i++)//计次i变量从0开始递增一直到2,即从0到不大于3的循环打印数组a[i]
printf("%d",a[i]);

好了,现在要反过来
那就是
for(int j=2;j>=0;j--)//计次j变量从i-1次开始递减一直到数组下标0,即反着打印 (为什么j=2,不是j=3?因为a数组只有3个元素,下标是从0开始的,第3个元素不是a[3],而是a[2].)
printf("%d",a[i]);

表达得不大好,楼主可以参考一下思路,举一反三,能理解更好。。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2016-06-07 08:12
快速回复:大神求解,本人只学过一些简单的编程
数据加载中...
 
   



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

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