| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1009 人关注过本帖
标题:C语言输入字符串求有几个单词各位大佬帮忙看看哪里出错了总少一个
只看楼主 加入收藏
青灯古佛
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-10-14
结帖率:50%
收藏
已结贴  问题点数:1 回复次数:2 
C语言输入字符串求有几个单词各位大佬帮忙看看哪里出错了总少一个
程序代码:
#include"stdio.h"
#define N 100
main()
{
    char a[N];
    int i,um=0;
    gets(a);
    while(ch!'\n')
    {for(i=0;i<=N;i++)
    if(a[i]!=' '&&a[i+1]==' '||a[i]!=' '&&a[i+1]=='\n')
    {um++;}
    printf("um=%d",um);}
} 
搜索更多相关主题的帖子: 字符串 单词 出错 输入 C语言 
2020-12-08 23:13
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:1 
回复 楼主 青灯古佛
程序代码:
#include<stdio.h>    // stdio.h 是系统自带的头函数,要用尖括号,自定义的的头函数才用双引号
#define N 100
int main()
{
    char a[N];
    int i, num = 0;
    gets_s(a);
    for (i = 0;i <= N;i++)
    {
        if (a[i] == ' ' || a[i] == '\0') // 输入完成后,系统会自动补0作为结束符,而不是被换行符作为结束符
        {
            num++;
        }
    }
    printf("num = %d\n", num);
}
2020-12-09 00:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:1 
main()
gets(a);
估计你用的也不是什么正儿八经的编译器了

认认真真完成作业,可以
程序代码:
#include <stdio.h>
#include <stdbool.h>

int main( void )
{
    size_t count = 0;

    bool flag = false; // 记录 前一个字符 是否为单词组成
    for( char buf[81]; fgets(buf,sizeof(buf),stdin); ) // 这个缓冲区大小81可改为任意大于1的值
    {
        for( const char* p=buf; *p!='\0'; ++p )
        {
            if( *p=='\n' )
            {
                printf( "%zu\n", count );
                return 0;
            }
            if( *p=='\t' || *p==' ' )
            {
                flag = false;
            }
            else
            {
                count += !flag;
                flag = true;
            }
        }
    }

    return 0;
}


想偷懒,可以
程序代码:
#include <stdio.h>

int main( void )
{
    size_t count = 0;
    for( ; ; )
    {
        scanf( "%*[\t ]" );
        int ch = getchar();
        if( ch == '\n' )
            break;
        ungetc( ch, stdin );
        scanf( "%*s" );
        ++count;
    }
    printf( "x = %zu\n", count );
}
2020-12-09 09:56
快速回复:C语言输入字符串求有几个单词各位大佬帮忙看看哪里出错了总少一个
数据加载中...
 
   



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

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