| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 625 人关注过本帖
标题:输入输出流问题 求助!!
只看楼主 加入收藏
sun004715
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-30
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
输入输出流问题 求助!!

#include <stdio.h>
#include <string.h>

int main(void)
{
    int i;
    int count = 0;
    int len;
    const char ch[]="ei";

    char str[40];

    for (i=0; i<len; i++)

        scanf("%c", &str[i]);

        fflush(stdin);

    len = strlen(str);

    for (i=0; i<len-1; i++)
    {
        if (str[i] == ch[0])
        {
            if (str[i+1] == ch[1])
                count++;
        }
    }
    printf(" ei is counted : %d", count);
    fflush(stdout);
    return 0;
}



这个程序 是计算 输入字符串中  ei  的个数 ,我在Eclipse 中运行这个程序  输入  Receive  your eieio award.  测试。 我输入完字符串 按回车 后 无反应, 必须 强行终止程序 才能输出 ei is counted : 3    我在输入输出流中都加了fflush 刷新 为什么没有即时 输出呢
搜索更多相关主题的帖子: 输出 输入 
2010-12-07 16:46
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <string.h>

int main(void)
{
    int i=0,c;
    int count = 0;
    int len;
    const char ch[]="ei";

    char str[40];

    while((c=getchar())!='\n')
      str[i++]=c;

        fflush(stdin);

    len = strlen(str);

    for (i=0; i<len-1; i++)
    {
        if (str[i] == ch[0])
        {
            if (str[i+1] == ch[1])
                count++;
        }
    }
    printf(" ei is counted : %d", count);
    fflush(stdout);
    getch();
    return 0;
}

2010-12-07 16:54
书中叶
Rank: 2
来 自:河北省唐山市
等 级:论坛游民
帖 子:38
专家分:25
注 册:2010-8-5
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    int i;
    int count = 0;
    int len;
    char ch[]="ei";
    char str[40];
    gets(str);
    len = strlen(str);
    for (i=0; i<len-1; i++)
    {
        if (str[i] == ch[0])

        {
            if (str[i+1] == ch[1])
            {
                count++;
            }
        }
    }
    printf(" The number of \"ei\" is %d\n", count);
    return 0;
}
调试了半天,终于做出来了,我也是初学者,交流经验吧

科学家是要把可能的事变为可能,小说家是要把不可能的事变为可能
2010-12-07 20:44
sun004715
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-30
收藏
得分:0 
能帮忙说说原因吗   这几种方法 为什么 scanf  不行呢
2010-12-07 22:07
ziye12593
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2010-12-7
收藏
得分:3 
程序代码:
#include <stdio.h>
#include <string.h>

int main(void)
{
    int i;
    int count = 0;
    int len;
    const char ch[]="ei";

    char str[40];

    scanf("%[^\n]",str);
   
    len=strlen(str);

    for (i=0; i<len-1; i++)
    {
        if (str[i] == ch[0])
        {
            if (str[i+1] == ch[1])
                count++;
        }
    }
    printf(" ei is counted : %d\n", count);
  
    return 0;
}


这是我帮你调试的代码  可以得出你要的结果
2010-12-07 22:40
书中叶
Rank: 2
来 自:河北省唐山市
等 级:论坛游民
帖 子:38
专家分:25
注 册:2010-8-5
收藏
得分:0 
为什么只给我一分,好不容易调出来的

科学家是要把可能的事变为可能,小说家是要把不可能的事变为可能
2010-12-14 19:06
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
我有几篇帖子讲解了一下关于输入流的知识,讲解的不是很深入,但估计那个解决你说的这个问题,好好看看我的那篇帖子吧!!
https://bbs.bccn.net/thread-326054-1-1.html

愿用余生致力编程
2010-12-14 22:55
快速回复:输入输出流问题 求助!!
数据加载中...
 
   



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

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