| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2070 人关注过本帖
标题:这题就很怪!
只看楼主 加入收藏
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 18楼 九转星河
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-03-20 11:53
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 20楼 吹水佬
嗯嗯,谢谢各位啦
2017-03-20 11:54
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
回复 19楼 小烧饼
感觉题目单词中间只有一个空格~而前后可能有空格~也可能没有~如果前后有空格~则把空格忽略掉~是这样么?~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-20 12:46
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
#include <stdio.h>
#include <string.h>
main()
{
    char *s=" I am student    ";
    char *p, *p1, *p2;
    for (p1=s; *p1==' '; p1++) NULL;
    for (p2=p1+strlen(p1)-1; p2>=p1 && *p2==' '; p2--) NULL;
    for (p=p2; p>=p1;)
    {
        for (p=p2; p>=p1 && *p!=' '; p--) NULL;
        printf("%.*s", p2-p, p+1);
          for (; p>=p1 && *p==' '; p--) printf("%c", ' ');
          p2 = p;
    }
}
2017-03-20 14:40
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 23楼 九转星河
我也很迷
2017-03-20 18:16
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 24楼 吹水佬
又通过一个,还有一个,能说说你咋想的
2017-03-20 18:30
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 23楼 九转星河
感觉是你说的这样!
2017-03-20 18:34
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:15 
以下是引用小烧饼在2017-3-20 18:30:44的发言:

又通过一个,还有一个,能说说你咋想的

可能要求只取一个空格间隔。
#include <stdio.h>
#include <string.h>
main()
{
    char *s=" I  am   student    ";
    char *p, *p1, *p2;
    for (p1=s; *p1==' '; p1++) NULL;
    for (p2=p1+strlen(p1)-1; p2>=p1 && *p2==' '; p2--) NULL;
    for (p=p2; p>=p1;)
    {
        for (p=p2; p>=p1 && *p!=' '; p--) NULL;
        printf("%.*s", p2-p, p+1);
        if (p > p1)
        {
            printf("%c", ' ');
            for (; p>p1 && *p==' '; p--) NULL;
            p2 = p;
        }
    }
}
2017-03-20 20:58
小烧饼
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-12-17
收藏
得分:0 
回复 28楼 吹水佬
过啦,谢啦
2017-03-20 22:23
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
难道是多输出了一个空格?那这样行吗?
#include <stdio.h>

 int gets_s(char *c)
 {
     char ch;
     while((ch=getchar())!='\n'&&ch!=' ')
     {
         *c++=ch;
     }
     if(ch==' ')return 0;
     else if(ch=='\n')return 1;
     
 }

 main()
 {
     char a[10][20]={0};
     int i=0;
     while(!gets_s(a[i++]));
     for(int j=i-1;j>0;j--)
     printf("%s ",a[j]);
     printf("%s",a[0]);
 }
2017-03-20 23:20
快速回复:这题就很怪!
数据加载中...
 
   



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

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