| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3190 人关注过本帖
标题:输入一个字符串,首尾没有空格且长度不超过1000。 输出空格数量
只看楼主 加入收藏
MuMuLee
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2016-1-16
结帖率:84.21%
收藏
已结贴  问题点数:10 回复次数:7 
输入一个字符串,首尾没有空格且长度不超过1000。 输出空格数量
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char c[1001];
    while(scanf("%c",&c[0])!=EOF)
    {
        int a=0,i=0;
        while(c[i]!='\n')
        {
            if(c[i]=='\ ')
                a++;
            i++;
            scanf("%c",&c[i]);
        }
        printf("%d",a);
    }
    return 0;
}
感觉自己写的好对啊。。。

然而到底是哪里不对?
搜索更多相关主题的帖子: 字符串 
2016-02-19 11:07
杭01
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:1
帖 子:29
专家分:132
注 册:2016-2-11
收藏
得分:1 
空格不用转义

准备中考中,有事请Email :)

Email: huihan9 AT qq DOT com
QQ: 2672286148
cnblogs: jt2001
2016-02-19 11:12
MuMuLee
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2016-1-16
收藏
得分:0 
回复 2楼 杭01
' '这样写也不对。
2016-02-19 12:06
杭01
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:1
帖 子:29
专家分:132
注 册:2016-2-11
收藏
得分:3 
回复 3楼 MuMuLee
我改成了一次读一行的,我这里测试是可以的,您试一下。

程序代码:
#include <stdio.h>

int main(int argc, char *argv[])
{
    char line[1001];
    while(gets(line) != NULL)
    {
        int spaceCount = 0;
        char *p;
        for (p = line; *p; ++p)
        {
            if (*p == ' ')
            {
                ++spaceCount;
            }
        }

        printf("%d\n", spaceCount);
    }

    return 0;
}

准备中考中,有事请Email :)

Email: huihan9 AT qq DOT com
QQ: 2672286148
cnblogs: jt2001
2016-02-19 12:27
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:3 
回复 楼主 MuMuLee
主要是scanf会把空格当做变量分隔符,是无法接受空格的,另接受格式也不对,应该是scanf("%s",&c[0])或scanf("%s",c)。楼上的用gets函数接受字符串可行。

能编个毛线衣吗?
2016-02-19 12:46
MuMuLee
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2016-1-16
收藏
得分:0 
回复 4楼 杭01
谢谢亲
想问一下: 输入的字符串,“首尾没有空格”,这句话在程序中怎样体现?
2016-02-20 08:35
MuMuLee
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2016-1-16
收藏
得分:0 
回复 5楼 wmf2014
谢谢亲
想问一下 原题中: 输入的字符串,“首尾没有空格”,这句话在程序中怎样体现?
2016-02-20 08:35
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:3 
回复 7楼 MuMuLee
貌似没软用。最多你可以把遍历程序稍微修改一下,字符串的头和尾就不用判断了。

char a[100];
while(gets(a)){
int cnt=0;
    for(int i=1;i<strlen(a)-1;i++)
        if(a[i]>='0'&&a[i]<='9')cnt++;
    printf("%d\n",cnt);
}

φ(゜▽゜*)♪
2016-02-21 11:50
快速回复:输入一个字符串,首尾没有空格且长度不超过1000。 输出空格数量
数据加载中...
 
   



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

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