| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:我想了好久,毫无头绪……
只看楼主 加入收藏
qq283426694
Rank: 1
来 自:少林寺
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
我想了好久,毫无头绪……
各位大虾,本来不好意思麻烦大家的,但是这次是迫不得已了。。。麻烦各位大虾给新手指点一二啊,谢谢……
不知道下面的错哪里了,算法有错吗?
/*编程3  10%
程序“p3”,实现功能:从键盘输入一个长度小于50的字符串,字符串中含有两个“#”字符,滤去第一个“#”后所有
字母字符,第一个“#”前所有字符不变,
第二个“#”后所有字符也不变。
然后在屏幕上输出(原“#”保留,原字符次序不变),下面是一组输入、输出的样例数据。
例如:
输入:Hi20%3#AB2n#$3k
输出:Hi20%3#2#$3
*/

#include<stdio.h>
#include<string.h>
void main()
{
    char c[50];
    int n,i,s,t;
    printf("n=?\n");
    scanf("%s",c);
   
    for(n=0;n<=strlen(c);n++)
        c[n]=0;               //数据初始化
   

   
    for(n=0;n<=strlen(c);n++)
        if(c[n]=='#')
    {
        s=n;
        break;
    }
   
    for(n=s;n<=strlen(c);n++)   
        if(c[n]=='#')
        {
            t=n;
            break;
        }



        
        for(i=0;i<=s;i++)                              //输出
            printf("%c",c[i]);
        
        for(; (i>s && i<t) ;i++)
            if(!((c[i]>='A' && c[i]<='Z')||(c[i]>='a' && c[i]<='z')))
                printf("%c",c[i]);
            
        for(;i<=strlen(c);i++)
            printf("%c",c[i]);   

        








}
搜索更多相关主题的帖子: 字符串 
2011-01-13 23:26
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:10 
    scanf("%s",c);
   
    for(n=0;n<=strlen(c);n++)
        c[n]=0;               //数据初始化

红色那段删除就是了,这是第一个错误

第二个错误是,for(n=s;n<=strlen(c);n++) 要改成 for(n=s + 1;n<strlen(c);n++)

你的程序里,所有的<=strlen(c)都要改成<strlen(c)


[ 本帖最后由 马后炮 于 2011-1-13 23:35 编辑 ]

樱之雪,晓之车
2011-01-13 23:32
qq283426694
Rank: 1
来 自:少林寺
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-24
收藏
得分:0 
回复 2楼 马后炮

现在可以了,不过可以帮忙解释下吗?
就是初始化了反而画蛇添足这个东西。。
我QQ 283426694   

[ 本帖最后由 qq283426694 于 2011-1-13 23:41 编辑 ]
2011-01-13 23:36
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:10 
scanf("%s",c);不就已经写了数据到c里了吗?已经有了有用数据了,你怎么还打算把c给清空呢?而且你清空的代码还是错的

樱之雪,晓之车
2011-01-13 23:40
qq283426694
Rank: 1
来 自:少林寺
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-24
收藏
得分:0 
回复 4楼 马后炮
<=
这个看懂错到哪里了,也知道数据初始化放错位置了
那要是初始化放到scanf 之前呢?
2011-01-13 23:44
快速回复:我想了好久,毫无头绪……
数据加载中...
 
   



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

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