C例题-(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

题目描述把一个字符串中特定的字符用给定的字符替换,得到一个新的字符串.输入要求输入有多行,第一行是要处理的字符串的数目n.其余个行每行由三个字符串组成,第一个字符串是待替换的字符串(不含空格),字符串长度小于等于30个字符;第二个字符串是一个字符,为被替换字符;第三个字符串是一个字符,为替换后的字符.#includestdio.h#includestring.hintmain(){intn,i,m,k;charc,d,str[30]={0};scanf(%d,&n);for(i=1;i=n;i++){scanf(%s,str);getchar();//截取回车scanf(%c,&c);getchar();//截取回车scanf(%c,&d);for(m=0;mstrlen(str);m++){if(str[m]==c)str[m]=d;}printf(%s\n,str);}return0;}*******************************************************************************************题目描述对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格('')、制表符('\t')、回车符('\r')、换行符('\n')。输入要求输入一行:待处理的字符串(长度小于80)。输出要求输出一行:转换后的字符串。intmain(){intj;chara[80];gets(a);a[0]=a[0]-32;for(j=1;a[j]!='\0';j++){if(((a[j]=='')||(a[j]==',')||a[j]=='.'||(a[j]=57&&a[j]=49))&&a[j+1]='z'&&a[j+1]='a')a[j+1]=a[j+1]-32;else;}puts(a);return0;}******************************************************************************************题目描述在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别.我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串.输入要求第一行是字符串的数目n.其余n行每行一个字符串,用gets(s)方式读取这一行字符串.每个字符串长度小于80个字符.输出要求输出每行字符串的加密字符串.#includestdio.h#includestring.hintmain(){intn,i,j;chars[80];scanf(%d,&n);getchar();for(i=1;i=n;i++){gets(s);for(j=0;jstrlen(s);j++){if(s[j]64&&s[j]90){s[j]=s[j]+1;}elseif(s[j]96&&s[j]122){s[j]=s[j]+1;}elseif(s[j]=='Z'){s[j]='A';}elseif(s[j]=='z'){s[j]='a';}}puts(s);}return0;}*******************************************************************************************题目描述判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多。输入要求第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串。接下来n行,每行是一个100个字符的字符串,没有空字符串。输出要求n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。#includestdio.h#includestring.hintmain(){intc,s[26],i,max;charstr[1000];scanf(%d,&c);while(c0){scanf(%s,str);for(i=0;i26;i++){s[i]=0;}for(i=0;istrlen(str);i++){s[str[i]-'a']++;}max=0;for(i=1;i26;i++){if(s[i]s[max]){max=i;}}printf(%c%d\n,max+'a',s[max]);c--;}return0;}*******************************************************************************************题目描述输入5个字符串,用strcmp()函数进行比较,输出最大的字符串。输入要求输入5个字符串,每个字符串的长度都不超过80个字符。输出要求输出最大的字符串。假如输入abc123abb123aAa12abC123bac000应当输出bac000#includestring.h#includestdio.hintmain(void){charstr[80],max[80];inti,k;scanf(%s,&max);for(k=1;k=4;k++){scanf(%s,&str);if(strcmp(max,str)0)strcpy(max,str);}printf(%s,max);return0;}*******************************************************************************************题目描述请编一个程序,可以将英语规则名词由单数变成复数。已知规则如下:(a)以辅音字母y结尾,则将y改成i,再加es;(b)以s、x、ch、sh结尾,则加es;(c)以元音字母o结尾,则加es;(d)其他情况直接加s。要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。输入要求先输入一个整数n,表示有n个名词(n100);此后有n行的字符串,每个字符串表示一个名词(每个名词长度不超过20个字符)。输出要求每行输出一个名词的复数形式。#includestdio.h#includestring.hvoidmain(){chara[20];intlength,i,n;scanf(%d,&n);for(i=1;i=n;i++){scanf(%s,a);length=strlen(a);if(a[length-2]!='a'&&a[length-2]!='e'&&a[length-2]!='i'&&a[length-2]!='o'&&a[length-2]!='u'&&a[length-1]=='y'){a[length-1]='i';a[length]='e';a[length+1]='s';a[length+2]='\0';}elseif(a[length-1]=='s'||a[length-1]=='x'||a[length-1]=='ch'||a[length-1]=='sh'||a[length-1]=='o'){a[length]='e';a[length+1]='s';a[length+2]='\0';}else{a[length]='s';a[length+1]='\0';}printf(%s\n,a);}return0;}

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功