| 查看: 474 | 回复: 2 | |||
[交流]
【求助】一个C语言
|
|
replace_word函数的功能是对s指向的数组所存储的一个英文句子中的每个单词做如下处理:在word_tab中查找该单词,若未找到则保持原单词不变;若找到则用word_tab数组中该单词后面的第一个单词替换句子中的原单词(如果该单词是word_tab数组中的最后一个单词则用第一个单词替换)。 [ Last edited by zyj8119 on 2010-12-17 at 23:18 ] |
» 猜你喜欢
收到国自然专家邀请后几年才会有本子送过来评
已经有4人回复
考博
已经有5人回复
26年申博自荐-计算机视觉
已经有4人回复
药化及相关博士的申请
已经有3人回复
一篇MDPI论文改变了学习工作和生活
已经有4人回复
一个化合物的合成路线:CAS:367929-02-0 名称:8β-乙烯基雌二醇
已经有4人回复
中国地质大学(北京)博士招生补录,数理学院材料科学与工程专业和材料与化工专业
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
c语言高手请进
已经有35人回复
c语言
已经有11人回复
c语言求助,一个小程序详细讲解
已经有13人回复
一个区间搜索的c语言程序 出问题了
已经有8人回复
关于c语言的一个小问题 坐等回复啊 急啊 是关于建立数组的
已经有9人回复
诚求一个小C语言的程序,十万火急,谢谢大家
已经有8人回复
【求助】帮我编个程啊~C语言,C++,Matlab,VB...都行~
已经有14人回复
» 抢金币啦!回帖就可以得到:
Feature Paper Invitation [Materials] (IF: 3.2, CiteScore: 6.4) 征稿
+1/477
东南大学废弃碳资源利用-杰青团队-27级博士生(提前入学)-及博后、科研助理招募
+1/180
东南大学废弃碳资源利用团队(杰青/海优团队)27级博士研究生和科研助理招生
+1/130
2026年江西师范大学药学院陈芬儿院士课题组招收智能药学博士生
+2/130
精细结构常数α=1/137的素数起源:论文投稿审核历程(A202604-1381)
+1/75
山东征女友,坐标济南
+1/73
生命学部的面地青本子开始分发了么?
+1/64
电子科技大学(深圳)高等研究院陈明豪课题组招收推免硕士研究生
+1/62
双一流高校-南京林业大学-化学工程学院-国家海外优青团队招2026级博士(5月15号截止)
+1/47
西北工业大学物理科学与技术学院-诚聘【AI与光学交叉方向】博士后
+1/31
2026年江西师范大学药学院陈芬儿院士课题组招收智能药学博士生
+1/31
水处理技术员
+1/30
南京邮电大学李巍教授招收2026博士生(5月12日前有效)
+1/21
南京邮电大学李巍教授招收2026博士生(5月12日前有效)
+1/20
招收2026年秋季入学新能源材料方向博士生
+1/7
2026年北京化工大学化学工程学院程元徽教授团队博士研究生招生-考核
+1/6
浙江大学长江学者特聘教授黄飞鹤招聘博士后(年薪35万+)
+1/5
浙江大学长江学者特聘教授黄飞鹤招聘博士后(年薪35万+)
+1/4
Postdoc Position in SLAM & Spatial AI – University of Edinburgh
+1/2
26博士自荐 一区3篇含top
+1/2
★ ★
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












回复此楼