问题及代码:
/*Copyright(c)2016,烟台大学计算机学院 all rights reserved. 作者:曹欣宇 指导教师:贺利坚 完成日期:2016年12月12日 题目描述 编写一个C程序实现将字符串中的所有"you"替换成"we" 输入 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 输出 对于输入的每一行,输出替换后的字符串 样例输入 you are what you do 样例输出 we are what we do */ #include<stdio.h> int main() { char s[1003]; int i, j; while (gets(s)) { for (i = 0; s[i] != '\0'; i++) { if (s[i] == 'y' && s[i + 1] == 'o' && s[i + 2] == 'u') { s[i] = 'w'; s[i + 1] = 'e'; // s[i+2]=' '; for (j = i + 2; s[j] != '\0'; j++) s[j] = s[j + 1]; } } printf("%s", s); } return 0; }
运行结果:
知识点总结:
通过学习,愈加熟练地对字符串的处理。
学习心得:
这个题还是有一定难度的,这并不是简单地替换,而是在里面又加了个循环,还有个问题,这个代码里并没有使用EOF,不知道为什么对。