| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:大家帮个忙
只看楼主 加入收藏
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
结帖率:73.91%
收藏
已结贴  问题点数:20 回复次数:17 
大家帮个忙
#include<stdio.h>
#include<string.h>
main()
{
    char f[101],n;
    int i,t,j,k;
    while(gets(f)!=NULL)
    {
        k=0;
        scanf("%c",&n);
        t=strlen(f);
        for(i=0;i<t;i++)
        {
            if(f[i]==n)
            {
                for(j=i;j<t;j++)
                {
                    f[j]=f[j+1];
                    
                }
                k=k+1;
            }
        }
        for(i=0;i<t-k;i++)
        {
            printf("%c",f[i]);
        }
        printf("\n");
    }
}


为什么第二次输入会多一个空行?
搜索更多相关主题的帖子: include 
2011-03-21 21:25
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
收藏
得分:0 
重新编写试试看看

明天的梦
2011-03-21 21:29
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
#include<stdio.h>
#include<string.h>
main()
{
    char f[101],n;
    int i,t,j,k;
    while(gets(f)!=NULL)
    {
        k=0;
        scanf("%c",&n);
        t=strlen(f);
        for(i=0;i<t;i++)
        {
            if(f[i]==n)
            {
                for(j=i;j<t;j++)
                {
                    f[j]=f[j+1];
                    
                }
                k=k+1;
            }
        }
        for(i=0;i<t-k;i++)
        {
            printf("%c",f[i]);
        }
        printf("\n");  //去掉这句试试
    }
}


   唯实惟新 至诚致志
2011-03-21 21:30
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
收藏
得分:0 
回复 3楼 qq1023569223
但是我需要输第二个的时候给一个空行
2011-03-21 21:33
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
看不懂。。。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-21 21:34
minand
Rank: 2
等 级:论坛游民
帖 子:71
专家分:89
注 册:2011-3-16
收藏
得分:0 
#include<stdio.h>
#include<string.h>
main()
{
    char f[101],n;
    int i,t,j,k;
    while(gets(f)!=NULL)
    {
        k=0;
        scanf("%c",&n);
        t=strlen(f);
        for(i=0;i<t;i++)
        {
            if(f[i]==n)
            {
                for(j=i;j<t;j++)
                {
                    f[j]=f[j+1];
                    
                }
                k=k+1;
            }
        }
        for(i=0;i<t-k;i++)
        {
            printf("%c",f[i]);
            printf("\n");

        }
            }
return 0;
}



[ 本帖最后由 minand 于 2011-3-21 21:41 编辑 ]
2011-03-21 21:40
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
收藏
得分:0 
回复 6楼 minand
不对,仍然错误,你试试输第二次,就是错的。并且输出是只能在一行
2011-03-22 19:15
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:15 
程序代码:
        for(i=0;i<t-k;i++)
        {
            printf("%c",f[i]);
        }
        printf("\n");
        getchar();//add to clear output buffer



test case and result:
abcd
c
abd
9989
8
999
a34g
1
a34g
b;ki
;
bki

程序代码:
        for(i=0;i<t-k;i++)
        {
            printf("%c",f[i]);
        }
        printf("\n\n");//modify
        getchar();//add to clear output buffer


test case and result:
aabb
a
abb

c1ed
1
ced

hello
l
helo

889u
6
889u

[ 本帖最后由 njkido 于 2011-3-24 00:58 编辑 ]
2011-03-24 00:45
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:0 
应该是像楼上说的吧,

不过好像不是用 getchar()

好像有个专门关闭流的的函数,百度一下
2011-03-24 01:20
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
收藏
得分:0 
回复 8楼 njkido
还是不行
你看
AAAA
AA
AA
AABB

A
BB
就是这样结果

2011-03-24 13:06
快速回复:大家帮个忙
数据加载中...
 
   



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

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