| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1310 人关注过本帖
标题:求助:如何用两个字符替换一个字符?
只看楼主 加入收藏
wangxinbozj
Rank: 2
等 级:论坛游民
威 望:2
帖 子:16
专家分:18
注 册:2019-12-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求助:如何用两个字符替换一个字符?
如下代码中第一个if语句中用两个感叹号替换原输入字符中的一个感叹号,过于复杂,如何简化编程?
程序代码:
#define NUM 500
int main(void)
{
    int i, j, n;

    char ch[NUM*2];
    i=j=0;
    
    while ((ch[i]=getchar())!='#')   //#结束
    {
        if (ch[i] == '!')       //用两个感叹号代替一个感叹号
        {
            ch[i] = '!';
            for(n=NUM;n>=i;n--)
                ch[n+1] =ch[n];
            ch[i+1]= '!';
            putchar(ch[i]);
            putchar(ch[i+1]);
            j++;            
        }
        else if (ch[i] == '.')    //用一个感叹号代替句号
        {
            ch[i] = '!';
            putchar(ch[i]);
            j++;
        }
        else 
            putchar(ch[i]);        
    }    
    printf("\n%5d\n", j);          //替换了几次
    system("pause");
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册



[此贴子已经被作者于2019-12-1 21:55编辑过]

搜索更多相关主题的帖子: 替换 putchar int 字符 NUM int 替换 NUM putchar 字符 
2019-12-01 21:30
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:566
专家分:3690
注 册:2019-7-29
收藏
得分:20 
程序代码:
#include <stdio.h>

int main(void)
{
    char ch;
    int j=0;

    while((ch=getchar())!='#')   //#结束
    {
        switch(ch)
        {
            case '.':putchar('!');j++;break;
            case '!':putchar(ch);j++;
            default:putchar(ch);break;
        }
    }

    printf("\n%5d\n", j);          //替换了几次

    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-12-01 21:56
wangxinbozj
Rank: 2
等 级:论坛游民
威 望:2
帖 子:16
专家分:18
注 册:2019-12-1
收藏
得分:0 
回复 2楼 纯蓝之刃
谢谢!
2019-12-01 22:03
快速回复:求助:如何用两个字符替换一个字符?
数据加载中...
 
   



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

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