题目:编写一个程序实现将字符串中的所有"you"替换成"we"

输入: 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束
输出: 对于输入的每一行,输出替换后的字符串

#include<stdio.h>
#include<string.h>
int main()
{char str[1000];int i=0,strlong,flag[333],n; //strlong用来储存str的长度,flag用来储存you中u的位置printf("Please input string!\n");while((scanf("%c",&str[i++])!=EOF)&&i<=1000) //输入后按Enter,再按ctrl+z{continue;}printf("%s", str);strlong=strlen(str);for(i=0,n=0;i<=strlong;i++){if(str[i]=='y'||str[i]=='Y'){if(str[i+1]=='o'||str[i+1]=='O'){if(str[i+2]=='u'||str[i+2]=='U') //判断是否为单词you{if(str[i]=='Y')str[i]='W';else //保证字母大小写相同str[i]='w';if(str[i+1]=='O')str[i+1]='E';elsestr[i+1]='e';flag[n++]=i+2; //储存u的位置,便于将u覆盖,n++是最后优先级是最低的}}}}for(n=0;flag[n]!='\0';n++) //这里就是将u后面的字符向前移动一位{                 //替换一个you后因为后面的字符整体前移了if(n==0)i=flag[n];else         //所以flag中储存的u的位置就要减去1,替换两个后i=flag[n]-n; //整体前移两位,就要减去2,以此类推for(;i<=strlong;i++){ str[i]=str[i+1]; //直接把i=flag[n]放在第二个for(i=flag[n];;)中}}printf("%s",str);return 0;
}

EOF:end of file,文件终端

在Windows中按Ctrl+z就是在缓存里就会读取到EOF;

一个字符数组,没有初始化的部分默认都是\0结束符,所以下面这个

  for(n=0;flag[n]!='\0';n++)

只会循环到被初始化过的,也就是给他赋值的地方,即循环you的个数;

编写一个程序实现将字符串中的所有“you“替换成“we“相关推荐

  1. 程序员面试题目:请实现一个函数,把字符串中的每个空格替换成20。

    来源:我是码农,转载请保留出处和链接! 本文链接:http://www.54manong.com/?id=1223 题目:请实现一个函数,把字符串中的每个空格替换成"%20".例如 ...

  2. Java之《剑指Offer》:字符串替换空格,请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happ

    1. 题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. ① ...

  3. python编写一个程序、计算字符串中子串出现的次数_急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在...

    展开全部 #include #include void main() { char str1[20], str2[20], *p1, *p2; int sum=0; printf("Plea ...

  4. 编写一个函数用于去除字符串中多余的空格,,

    编写一个函数用于去除字符串中多余的空格,比如字符串"a  b    c",处理后为"a b c" public class StringManipulation ...

  5. 【汇编】奇校验程序:输入一个字符,编写一个程序判断这个字符中1的个数,如果是偶数个1,则校验位(字符最高位)为1,如果是奇数个1,则校验位为0。并显示加入校验位前后该字符的二进制代码。

    奇校验程序:输入一个字符,编写一个程序判断这个字符中1的个数,如果是偶数个1,则校验位(字符最高位)为1,如果是奇数个1,则校验位为0.并显示加入校验位前后该字符的二进制代码. 编译结果:字符'0'A ...

  6. C++ 编写一个函数,把字符串中的数字字符、英文字母字符和其它字符分开。

    问题描述: 编写一个函数,把字符串中的数字字符.英文字母字符和其它字符分开.如对于字符串"12a:?3byu98!",将其分解为三个独立的字符串"12398". ...

  7. java 替换字母_【Java项目】将字符串中的字母全部替换成字母的下一个字母

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 输入:aBxyZ 输出:bCyzA [java] view plain copy print? 1.package com.iotex; 2./** 3. ...

  8. 将字符串中的字母全部替换成字母的下一个字母,要是最后一位是z或Z则替换为a或A

    第九题 功能描述:将字符串中的字母全部替换成字母的下一个字母, 要是最后一位是z或Z则替换为a或A. 输入:aBxyZ 输出:bCyzA /*** 功能描述:将字符串中的字母全部替换成字母的下一个字母 ...

  9. 编写一个程序,将用分钟表示的时间转换成以 小时和分钟表示的时间。使用#define来创建一个代 表60的符号常量。

    编写一个程序,将用分钟表示的时间转换成以 小时和分钟表示的时间.使用#define来创建一个代 表60的符号常量. /**编写一个程序,将用分钟表示的时间转换成以 小时和分钟表示的时间.使用#defi ...

最新文章

  1. python莫比乌斯环_python基础|模块
  2. 11g 新特性 Member Kill Escalation 简介
  3. lamp介绍,wordpress,phpmyadmin,discuzz安装
  4. 用户画像-撸一部分代码啊
  5. 关闭 启动_离心泵启动时为什么要关闭阀门?
  6. Python+Opencv实现无参数、全自动的Canny算法
  7. 关于在页面跳转前alert()不能弹出消息的问题
  8. OpenZeppelin集成Truffle编写健壮安全的合约
  9. 配置普通,长得丑,OPPO R11凸显OPPO创新乏力
  10. php删除下拉框记录,删除一条数据_php删除一条记录(删除确认提示)
  11. 统计正数和负数的个数然后计算这些数的平均值_计算机中的二进制原来是这样:原码、反码和补码
  12. 个人计算机与工作站 服务器有什么区别,工作站与服务器有什么区别?
  13. 美联储历次加息周期及结果
  14. 网页编程入门应该首先学些什么
  15. Hibernate——入门
  16. Basemap绘制中国地图
  17. ps无法启动因为计算机中丢失api ms,解决win8下ps提示“丢失api-ms-win-crt-runtime-l1-1-0.dll”的方法...
  18. Java default关键字与protect的区别之处
  19. [Solved | 已解决] Ubuntu GTX1080Ti 经常崩溃
  20. 724运维日 | 向运维人致敬!

热门文章

  1. 2017、2018、2019、2020、2021数控机床数控系统采集方案汇总
  2. fiddler学习笔记
  3. 信息技术教案计算机知识产权,[中学联盟]云南省罗平县第一中学高一《信息技术基础》参考教案:信息技术对人类社会的影响及知识产权 (2份打包)...
  4. 希尔伯特变换的时频理解与应用
  5. 基于51单片机的烟雾火灾报警器proteus仿真设计
  6. 什么是卷积神经网络?它目前主要应用于哪些领域?
  7. mongodb启用身份验证_启用2-Factor身份验证(2FA)之前应了解的事项
  8. CNV学习2(illumina芯片分析CNV的主流软件------PennCNV)
  9. 使用wsimport生成客户端代码
  10. 如何使用Django和Celery为Web构建进度栏