| 查看: 460 | 回复: 2 | |||
[交流]
【求助】一个C语言
|
|
replace_word函数的功能是对s指向的数组所存储的一个英文句子中的每个单词做如下处理:在word_tab中查找该单词,若未找到则保持原单词不变;若找到则用word_tab数组中该单词后面的第一个单词替换句子中的原单词(如果该单词是word_tab数组中的最后一个单词则用第一个单词替换)。 [ Last edited by zyj8119 on 2010-12-17 at 23:18 ] |
» 猜你喜欢
网上报道青年教师午睡中猝死、熬夜猝死的越来越多,主要哪些原因引起的?
已经有3人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有10人回复
版面费该交吗
已经有12人回复
面上可以超过30页吧?
已经有5人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有13人回复
“人文社科而论,许多学术研究还没有达到民国时期的水平”
已经有5人回复
什么是人一生最重要的?
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
c语言高手请进
已经有35人回复
c语言
已经有11人回复
c语言求助,一个小程序详细讲解
已经有13人回复
一个区间搜索的c语言程序 出问题了
已经有8人回复
关于c语言的一个小问题 坐等回复啊 急啊 是关于建立数组的
已经有9人回复
诚求一个小C语言的程序,十万火急,谢谢大家
已经有8人回复
【求助】帮我编个程啊~C语言,C++,Matlab,VB...都行~
已经有14人回复
» 抢金币啦!回帖就可以得到:
长春工业大学课题组招收硕士调剂生(化工、化学、材料、环境、制药、生物等方向)
+1/594
单曲循环久了很多都会变
+1/406
高级研发工程师/研发工程师 – 锂离子电池正极材料回收与制备-香港纳米及先进材料研发
+1/95
博洛尼亚大学能源材料课题组2个博后位置招聘(PNRR & MSCA)
+1/70
澳门理工大学人工智能智慧康养26 年9月入学 博士招生有奖学金
+1/40
澳门理工大学人工智能智慧康养方向26 年9月入学博士招生有奖学金
+1/39
澳门理工大学人工智能智慧康养方向26 年9月入学博士招生 奖学金
+1/35
大连海事大学轮机学院尚有博士名额
+2/30
招聘化学相关专业科研助理
+2/14
邀稿综述,作者排名和工作量分工问题,存在不满和疑问。
+1/14
英国南安普顿大学招博后+博士(微流控,分子动力学)
+1/11
博士招生
+1/7
南昌大学资源与环境学院刘进教授团队招收2026硕博研究生
+1/5
中国科学技术大学 工程科学学院 国家级人才团队 诚聘博士后
+1/5
新加坡南洋理工大学- 光电/ 智能传感/ 脑机接口方向 博士后
+1/5
招生帖
+1/3
天津医科大学基础医学院张恒课题组博士后招聘
+1/3
内江师范学院能源转化与储能实验室诚聘博士1-2人
+1/3
澳科大招收2026秋纳米医学/生物材料方向全奖博士研究生(3月5日18:00截止)
+1/2
【科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/1
★ ★
zyj8119(金币+20):谢谢高手,每次都是你帮忙,其实我程序很一般,谢谢!!!! 2010-12-18 15:57:28
余泽成(金币+2):谢谢参与应助! 2010-12-18 18:28:49
zyj8119(金币+20):谢谢高手,每次都是你帮忙,其实我程序很一般,谢谢!!!! 2010-12-18 15:57:28
余泽成(金币+2):谢谢参与应助! 2010-12-18 18:28:49
|
#include #include #include void replace_word(char s[]) { char word_tab[4][10]={"sad","happy","accuse","forgive"}; char t[10],tmp[80];//t[10]是假定s中的每个英文单词长度不超过9个。 int i,j,k,n; for (i=0;s;i++) { for (j=i,k=0;isalpha(s[j]);k++,j++)//这个循环用于取出s中的一个单词 t[k]=s[j]; t[k]=0; if (k>0)//如果取出了一个单词 { //判断该单词是否在word_tab中出现 for (n=0;n<4;n++) if (strcmp(t,word_tab[n])==0) break; if (n<4)//如果出现了 { strcpy(tmp,s+i+strlen(t));//将S中原单词之后的部分复制到tmp中暂存 strcpy(s+i,word_tab[(n+1)%4]);//用word_tab中的后面的单词替换掉S中的原单词 //s+i+strlen(t)不会替换原单词。 strcat(s,tmp);//将暂存在tmp中的部分连接在s之后。strcat是连接,strcpy是复制,作用不同。 i=i+strlen(word_tab[(n+1)%4]);//更新字符串长度 } else i=i+strlen(t); } } } main() { char line[80]="I accuse your mistakes."; replace_word(line); puts(line);//puts输出字符串,而putchar只能输出一个字符 } |
2楼2010-12-18 15:48:01
3楼2010-12-18 17:46:37













回复此楼