中国石油大学第八章计算机作业_第1页
中国石油大学第八章计算机作业_第2页
中国石油大学第八章计算机作业_第3页
中国石油大学第八章计算机作业_第4页
中国石油大学第八章计算机作业_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国石油大学第八章计算机作业8.1字符转换描述提取一个字符串中的所有数字字符(O.9)将其转换为一个整数输岀。输入一个以回车符为结束标志的字符串(少于80个字符)。输出把字符串中的所有数字字符(O.9)转换为一个整数并输出。#includeintmain()charstr80;inti,m=0;gets(str);for(i=0;stri!=r0,;i+)if(stri=9,&strixO)m=m*10+(stri-48);printf(M%dn,m);82合并字符串输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。输入:两个已经排好

2、顺序(升序)的字符串输出:一个合并在一起的有序(升序)的字符串#inelude#inelude#ineludeintmain()chara100,b100,t;intk,ij;gets(a);gets(b);strcat(a,b);k=strlen(a);for(j=1;j=ai+1)t=ai;ai=ai+1;ai+1=t;puts(a);return0;8.3删除重复字符背景:输入一个长度不超过100的字符串.删除串中的重复字符。输入:输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcdo输出:删除重复字符后的字符串。例如:abcedo#includeintmain

3、()chara100,b100;intn,i,j,cgets(a);n=strlen(a);b0=a0;for(i=1;ifor(j=0;jf(a=aODbreak;if(ai=aO&i=j)bcnt=ai;cnt+;for(i=0;iprintf(”c”,bi);printf(Rnw);return0;8.4删除字符串中指定字符Ma1则输岀ubc23d%输入两个字符串s1和s2,在s1中删除任何s2Ma1则输岀ubc23d%输入:两个字符串S1和S2输出:删除后的字符串S1要求:设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。如果采用先进行串连接,然后再进行排序的算法,则效率太低了

4、#includeintmain()chara100,b100,c100;intm,n,i,j,k=0,p,q;gets(a);gets(b);n=strlen(a);m=strlen(b);for(i=0;ifor(j=0;jif(bj=ai)break;for(p=0;pif(cp=ai)break;if(j=m&p=k)ck=ai;k+;for(i=0;iprintf(”c”,ci);printf(Rnw);return0;8.5单词有多少用空格或换行分开的字符串称为单词。输入多行字符串,直到遇到了单词stop时才停止。最后输出单词的数量。用于分割单词的空格或换行可能多于1个。输入:多个字

5、符串输出:单词的数量#inelude#ineludeintmain()inti,m=0,p;chara1020;for(i=0;p!=0;i+)scanf(M%sH1ai);p=strcmp(ai,stopM);for(i=0;ai!=0,;i+)p=strcmp(ai,nstopw);if(p=O)break;elsem+;printf(%dn,m);8.6在指定位置插入字符串输入两个字符串s1、S2和s1中任意字符k,在s1中的指定字符k第一次出现的位置处插入字符串S2并输岀。输入:两个字符串s1、s2和s1中任意字符k输出:插入后的字符串S1#ineludevoidmain()charn

6、,a200,b200;inti,h;gets(a);gets(b);scanf(n%cM,&n);for(i=0;ai!=0;i+)if(ai=n)for(h=0;bh!=0;h+)printf(M%cM,bh);printfC%c,ap);printf(NnH);8.7YourRideIsHere#includevoidmain()chara100,b100);intn,c=1?d=1,i;gets(a);gets(b);n=W-1;for(i=0;ai!=0;i+)c=c*(ai-n);for(i=0;bi!=0;i+)d=d*(bi-n);c=c%47;d=d%47;if(c=d)pri

7、ntf(MGOnn);elseprintf(MSTAYnM);8.8大数相加问题描述:编写C程序,它能以字符串形式读入两个无符号正整数m和n,计算并输出这两个整数之和输入格式:输入由两行组成,第一行为无符号整数m,第二行为无符号整数n,且m和n的值最长25位输出格式:输出为一行,即两个无符号整数m和n之和输入样例:9999888888355729288输出样例:10355618176includeincludeintmain()chara30,b30;intjj,x,ymc3O=O03O=O,e3O=O;gets(a);gets(b);x=strlen(a);y=strlen(b);m=xy?

8、x:y;for(i=x-1;i=0;i-)cx-i-1=aiJ0*;for(j=y-1;j=0;j-)卜bjO;for(i=0;iei+=(ci+di);if(i=m-1)m+;ei+1+;ei-=10;for(i=m-1;i=O;i-)printf(R%dep);printf(RnM);8.9字符串重排列判断一个字符串是否可以由另一个字符串通过重排字符而得到。注意,此处区分字符大小写!输入输入只有一行,为两个字符串,字符串之间以一个空格分隔。输岀如果两个字符串由同一组字符组成(且每一个字符出现次数相同),则输出“YES;否则输出uNO,fo注意YES和NO都是大写字母!#ineludevoi

9、dmain()chara1000,b1000;inti,j,k,m=0;scant(n%s%sw,a,b);for(i=0;ai=0,;i+)k=0;for(j=0;bD!=0rj+)if(ai=bO)k+;m+;break;if(k=0)break;if(k=0)printf(MNOnn);elseprintf(wYESnR);8.10课啦!要点名啊!#inelude#ineludeintmain()intij,m,n,p;chara550,b550;scanf(,%d%d,&m,&n);for(i=0;iscanf(M%sai);for(i=0;iscanf(M%sbi);for(i=0;

10、ifor(j=0;jp=strcmp(ai?bj);if(p=O)printf(MYESnH);break;if(j=n)printf(MNOnH);8.11找第一个只出现一次的字符问题描述:给定t个字符串,这个字符串只可能由26个小写字母组成,请你找到第一个仅出现一次的字符,如果没有符合要求的字符,就输出no。输入:第一行是t,接下来是t个字符串,每个字符串长度小于100输出:你的输出需要由t行组成。对于每个字符串,输出第一个仅出现一次的字符,没有输岀NO。输入样例:2aabbabcdab输出样例:NO#inelude#ineludeintmain()intij,nXb200=0,m;cha

11、ra10001000;scanfCd&t);for(i=0;iscanf(M%sai);for(i=0;im=strien(ai);for(j=O;ai0!O,;j+)for(n=0;ain!=,0,;n+)if(aig=ain)bj+;for(j=O;ai0!O,;j+)if(bj=1)printf(M%cnaij);break;printf(MNOnn);for(bO;aij!JO:j+)bO=0;8.12提取数据输入一个字符串,长度不超过30,内有数字字符和非数字字符,统计其中包含了多少个非负整数,并输出这样的非负整数。关于输入一个字符串,最大长度为30关于输岀输出字符串中包含的数据,一

12、个数据一行(不用输岀总数)#ineludeintmain()inti,sum=0;chara30;gets(a);for(i=0;ai!=0,;i+)if(ai=0&ai=0,&aiv=9)&(ai+1vO|ai+19)printf(%drT,sum);sum=0;8.13判断字符串是否为回文编程,输入一个字符串,输岀该字符串是否回文。关于输入输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)o关于输出如果字符串是回文,输岀yes;否则,输岀no。#inelude#ineludeintmain()inti,j,t,p=O;chara100;gets(a);t=strlen(a);

13、j=t-1;for(i=0;i=97&a0=97&ai+1=122)ai+1=ap+1-32;puts(a);8/I5绕口令规则是:主持人给岀一串字符串,要求把这串字母简化。该串字符串全部为小写英文字母。比如:aaabbbaa,则简化为3a3b2a;zzzzeeeeea,则简化为4z5e1ao依次类推。Input第一行为一个整数n,表示共有n组测试数据(IvtvTOO)。每组测试数据有一行,该行第一个数为字符串长度t(t=1,000,000),然后为一行长度为t的字符串。Output对于每组输入数据输岀一行,即简化后的字符串。#inelude#ineludeintmain()inti,n,t,l,j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论