ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:109.56KB ,
资源ID:7456517      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7456517.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确).docx)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确).docx

1、 10.1 字符转换 描述 提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。 输入 一个以回车符为结束标志的字符串(少于80个字符)。 输出 把字符串中的所有数字字符(‘0’...‘9’)转换为一个整数并输出。 #include #include int main() { char s[80]; int i,k,n=0; gets(s); k=strlen(s); for(i=0;i='0'&&s[i]<='9

2、') n=n*10+(s[i]-'0'); printf("%d\n",n); return 0; } 10.2 合并字符串 输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。 输入: 两个已经排好顺序(升序)的字符串 输出: 一个合并在一起的有序(升序)的字符串 要求: 设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。 如果采用先进行串连接,然后再进行排序的算法,则效率太低了。 #include #include

3、int main() { char a[100],b[100],t; int k,i,j; gets(a); gets(b); strcat(a,b); k=strlen(a); /*冒泡法排序*/ for(i=1;ia[j+1]) { t=a[j];

4、 a[j]=a[j+1]; a[j+1]=t; } puts(a); return 0; } 10.3 删除重复字符 背景: 输入一个长度不超过 100 的字符串,删除串中的重复字符。 输入: 输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcd。 输出: 删除重复字符后的字符串。例如:abced。 #include #include int main() { char a[100],b[100]; int

5、 k,i,j; gets(a); k=strlen(a); for(i=0;i

6、 #include #include int main() { char s1[20],s2[20]; int k1,k2,i,j; gets(s1); gets(s2); k1=strlen(s1); k2=strlen(s2); for(j=0;j

7、 j++; } s1[j]='\0'; puts(s1); return 0; } 10.5 单词有多少 用空格或换行分开的字符串称为单词。输入多行字符串,直到遇到了单词 "stop" 时才停止。最后输出单词的数量。用于分割单词的空格或换行可能多于1个。 输入: 多个字符串 输出: 单词的数量 #include #include int main() { char s[20]; int i,n=0; for(i=0;;i++) { scanf("%s",s);

8、 /*scanf遇空格或换行则存入下一个s[20]*/ n++; /*不能gets(s),它对换行空格没反应,都存入同一s[],无法strcmp*/ if(strcmp(s,"stop")==0) break; } printf("%d\n",n-1); return 0; } 10.6 在指定位置插入字符串 输入两个字符串 s1 、 s2 和 s1 中任意字符 k ,在 s1 中的指定字符 k 第一次出现的位置处插入字符串 s2 并输出。 输入: 两个字符串 s1 、 s2 和 s1 中任意字符 k 输出: 插入后的字符串 s

9、1 #include #include int main() { char s1[50],s2[50],s3[50],k; int i,j,a,b,n=-1; gets(s1); gets(s2); a=strlen(s1); b=strlen(s2); scanf("%c",&k); for(i=0;i

10、 s3[i]=s1[i]; for(i=n;i

11、 here on Earth. Unfortunately, they only have room to pick up one group of followers on each trip. They do, however, let the groups know ahead of time which will be picked up for each comet by a clever scheme: they pick a name for the comet which, along with the name of the group, can be used to det

12、ermine if it is a particular group's turn to go (who do you think names the comets?). The details of the matching scheme are given below; your job is to write a program which takes the names of a group and a comet and then determines whether the group should go with the UFO behind that comet. Both

13、the name of the group and the name of the comet are converted into a number in the following manner: the final number is just the product of all the letters in the name, where "A" is 1 and "Z" is 26. For instance, the group "USACO" would be 21 * 19 * 1 * 3 * 15 = 17955. If the group's number mod 47

14、is the same as the comet's number mod 47, then you need to tell the group to get ready! (Remember that "a mod b" is the remainder left over after dividing a by b; 34 mod 10 is 4.) Write a program which reads in the name of the comet and the name of the group and figures out whether according to the

15、 above scheme the names are a match, printing "GO" if they match and "STAY" if not. The names of the groups and the comets will be a string of capital letters with no spaces or punctuation, up to 6 characters long. INPUT FORMAT  Line 1: An upper case character string of length 1..6 that is the na

16、me of the comet. Line 2: An upper case character string of length 1..6 that is the name of the group. COMETQ HVNGAT OUTPUT FORMAT A single line containing either the word "GO" or the word "STAY". #include #include void main() { char a[7],b[7]; int i,pa=1,pb=1

17、 gets(a); gets(b); i=0; while(a[i]!='\0') { pa=pa*(a[i]-'A'+1)%47; i++; } i=0; while(b[i]!='\0') { pb=pb*(b[i]-'A'+1)%47; i++; } if(pa==pb)printf("GO\n"); else printf("STAY\n"); } 10.8

18、 大数相加 问题描述: 编写C程序,它能以字符串形式读入两个无符号正整数m和n,计算并输出这两个整数之和 输入格式: 输入由两行组成,第一行为无符号整数m,第二行为无符号整数n,且m和n的值最长25位 输出格式: 输出为一行,即两个无符号整数m和n之和 #include #include int main() { char a[5001],b[5001]; int s1[5001],s2[5001],k,n=0; int ans[5001]; int c,ale

19、n,blen,i,maxlen,minlen; scanf("%s%s",&a,&b); alen=strlen(a); blen=strlen(b); maxlen = alen > blen ? alen : blen; memset(s1,0,sizeof(s1)); memset(s2,0,sizeof(s2)); for( i=alen-1;i>=0;i--) s1[alen-i]=a[i]-'0'; for( i=blen-1;i>=0;i--)

20、 s2[blen-i]=b[i]-'0'; memset(ans,0,sizeof(ans)); for(i=1;i<=maxlen;i++) { ans[i] += s1[i] + s2[i]; if(ans[i]>9) { if(i==maxlen) maxlen++; ans[i+1]++;

21、 ans[i]-=10; } } for( i=maxlen;i>=1;i--) printf("%d",ans[i]); printf("\n"); if (k!=c) printf("\n"); return 0; } 10.9 字符串重排列 判断一个字符串是否可以由另一个字符串通过重排字符而得到。注意,此处区分字符大小写! 输入 输入只有一行,为两个字符串,字符串之间以一个空格分隔。 输出 如果两个字

22、符串由同一组字符组成(且每一个字符出现次数相同),则输出“YES”; 否则输出“NO”。注意YES和NO都是大写字母! #include void main() { char a[1000],b[1000]; int i,j,k,m=0; scanf ("%s%s",a,b); for(i=0;a[i]!='\0';i++) { k=0; for(j=0;b[j]!='\0';j++) if(a[i]==b[j]) { b[j]='?'; k++; m++; break; }

23、 if (k==0) break; } if (k==0) printf("NO\n"); else printf("YES\n"); } 10.10上课啦!要点名啊! 小凡的老师每次上课前都要点名,但是这样就浪费了老师的上课时间。所以老师让小凡来完成点名,让小凡在早自习的时候就点好名。老师给了小凡名单,小凡只要照着名单点名就好了是不是很简单啊。 输入 输入有多组数据,直到文件结束。每组测试数据有三行,第一行为两个整数m, n(50 >= m >= n)。第二行有m个名字,名字之间用空格隔开,是小凡班上同学的名单。后面有n个名字是来上课的同学。名字间用

24、空格隔开。名字的长度不超过20个字符。 输出 按照第一行的名单,每个人对应输出是否到了。到的人输出Yes,没到的人输出No。 #include #include int main() { int i,j,m,n,p; char a[5][50],b[5][50]; scanf("%d%d",&m,&n); for(i=0;i

25、) scanf("%s",b[i]); for(i=0;i

26、 } if(j==n) printf("NO\n"); } } 10.11找第一个只出现一次的字符 问题描述: 给定t个字符串,这个字符串只可能由26个小写字母组成,请你找到第一个仅出现一次的字符,如果没有符合要求的字符,就输出no。 输入: 第一行是t,接下来是t个字符串,每个字符串长度小于100 输出: 你的输出需要由t行组成。 对于每个字符串,输出第一个仅出现一次的字符,没有输出NO。 #include #include<

27、string.h> int main() { int i,j,n,t,m,b[200]={0}; char a[1000][1000]; scanf("%d",&t); for(i=0;i

28、 { b[j]++; } } } for(j=0;a[i][j]!='\0';j++) { if(b[j]==1) { printf("%c\n",a[i][j]); break; } } if(j==m) printf("NO\n"); for(j=0;a[i][j]!='\0';j++) b[j]=0; } } 10.12 提取数据 输入一个字符串,长度不超过30,内有数字字符和非数字字符,统计其中包含了多少个非负整数,并输出这样的非负整数。 输入

29、 一个字符串,最大长度为30 输出 输出字符串中包含的数据,一个数据一行. (不用输出总数) #include int main() { int i,sum=0; char a[30]; gets(a); for(i=0;a[i]!='\0';i++) { if(a[i]>='0'&&a[i]<='9') sum=sum*10+(a[i]-'0'); if((a[i]>='0'&&a[i]<='9')&&(a[i+1]<'0'||a[i+1]>'9')) { printf("%d\n",sum);

30、sum=0; } } } 10.13 判断字符串是否为回文 编程,输入一个字符串,输出该字符串是否回文。 输入 输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。 输出 如果字符串是回文,输出yes;否则,输出no。 #include #include int main() { int i,j,t,p=0; char a[100]; gets(a); t=strlen(a); j=t-1; for(i=0;i<=(t/2-1);i++) { if(a[

31、i]!=a[j]) { p=1; break; } else j--; } if(p==1) printf("no\n"); else printf("yes\n"); } 10.14 首字母大写 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。 输入 输入一行:待处理的字符串(长度小于80)。 输出 输出一行:转换后的字符串。 #include

32、h> int main() { int i; char a[100]; gets(a); if(a[0]>=97&&a[0]<=122) a[0]=a[0]-32; for(i=1;a[i]!='\0';i++) { if(a[i]==' '&&a[i+1]>=97&&a[i+1]<=122) a[i+1]=a[i+1]-32; } puts(a); } 10.15 绕口令 规则是:主持人给出一串字符串,要求把这串字母简化。该串字符串全部为小写英文字母。 比如:aaabbbaa,则简化为3a3b2a;zzzz

33、eeeeea,则简化为4z5e1a。依次类推。 Input 第一行为一个整数n,表示共有n组测试数据(1<=n<=100)。每组测试数据有一行,该行第一个数为字符串长度t( t <= 1,000,000),然后为一行长度为t的字符串。 Output 对于每组输入数据输出一行,即简化后的字符串。 #include #include int main() { int i,n,t,l,j,k=0,count; char a[100][100]; scanf("%d",&n); for(i=0;i

34、anf("%d",&t); scanf("%s",a[i]); } for(i=0;i

35、删除指定的字符。同一字母的大、小写按照不同的字符处理。只需要提交fun函数 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ void fun(char str[100],char ch) { int i,count=0; for(i=0;str[i]!='\0';i++) if(str[i]==ch) str[i]='0'; for(i=0;str[i]!='\

36、0';i++) if(str[i]!='0') str[count++]=str[i]; str[count]='\0'; } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main() { char str[80]; char ch; gets(str); scanf("%c",&ch); fun(str,ch); printf("%s\n",str); return 0; } /* PRESET CODE END

37、 - NEVER TOUCH CODE ABOVE */ 10.17处理字符串 编写函数fun,其功能是:将数组s存放的字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。 例如,s中的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。 提醒:本题提交的时候,只需要提交fun函数就可以。 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include /* PRESET CODE END - NEVER TOUCH CODE ABOV

38、E */ void fun(char s[]) { char a[80],b[80]; int i,j,x=0,y=0; for(i=0;s[i]!='\0';i++) { if(s[i]>='0'&&s[i]<='9') { a[x]=s[i]; x++; } else { s[y]=s[i]; y++; } } a[x]='\0'; s[y]='\0'; strcat(s,a); } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main() { char s[80]; gets(s); fun(s); puts(s); return 0; } /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ 20

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服