c语言练习题目.docx
- 文档编号:10042660
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:13
- 大小:18.18KB
c语言练习题目.docx
《c语言练习题目.docx》由会员分享,可在线阅读,更多相关《c语言练习题目.docx(13页珍藏版)》请在冰豆网上搜索。
c语言练习题目
1、题目描述
输入任意4个字符,并按反序输出。
输入
输入第一行表示测试样例个数m,接下来m行每行一个字符串。
输出
输出m行,分别对应输入字符串的反序。
样例输入
2
abcd
eerd
样例输出
dcba
dree
#include
#include
intmain()
{
intn;
charc[5];
scanf("%d",&n);
for(inti=0;i { scanf("%s",&c); for(intj=3;j>=0;j--) printf("%c",c[j]); printf("\n"); } //system("pause"); return0; } 2、题目描述 输入一行字符串(字符串长度小于10000,由大小写字母、阿拉伯数字和空格组成),分别统计出其中大写英文字母,小写英文字母、阿拉伯数字和空格的个数。 输入 一行字符串(字符串长度小于10000,由大小写字母、阿拉伯数字和空格组成) 输出 分别输出大写英文字母,小写英文字母、阿拉伯数字和空格的个数,用空格隔开 样例输入 h0u84nfx7 样例输出 0541 #include #include #include #include #include usingnamespacestd; constintN=20000; chars[N]; intmain(){ gets(s); intt[4]; memset(t,0,sizeof(t)); intlen=strlen(s); for(inti=0;i intid=3; if(s[i]>='A'&&s[i]<='Z')id=0; if(s[i]>='a'&&s[i]<='z')id=1; if(s[i]>='0'&&s[i]<='9')id=2; if(s[i]=='')id=3; t[id]++; } printf("%d%d%d%d\n",t[0],t[1],t[2],t[3]); return0; } 3、题目描述 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。 输入 测试数据有多组,每组输入字符串s和字符c。 输出 对于每组输入,输出去除c字符后的结果。 样例输入 goaod a 样例输出 good #include intmain() { chars[1000],c[2]; inti; while(gets(s)) { gets(c); for(i=0;s[i];i++) if(s[i]! =c[0]) printf("%c",s[i]); puts(""); } return0; } 4、题目描述 统计一个给定字符串中指定的字符出现的次数。 输入 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。 注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。 当读到'#'时输入结束,相应的结果不要输出。 输出 对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出: c0n0 c1n1 c2n2 ... 其中ci是第1行中第i个字符,ni是ci出现的次数。 样例输入 I THISISATEST ing thisisalongteststring # 样例输出 I2 i3 5 n2 g2 #include intmain(){ charstr1[10],str2[100]; while(gets(str1)&&str1[0]! ='#'){ gets(str2); inti=0; while(str1[i]){ intj=0,count=0; while(str2[j]){ if(str1[i]==str2[j]){ count++; } j++; } printf("%c%d\n",str1[i],count); i++; } } return0; } 5、题目描述 我们把只有0和1组成的字符串叫做比特字符串。 如果比特字符串中1的个数为奇数,则称这个比特字符串是奇性的。 如果比特字符串中1的个数为偶数,则称这个比特字符串是偶性的。 注意: (1)0是偶数,所以不包含1的比特字符串是偶性的。 (2)0的个数不影响比特字符串的奇偶性。 输入 输入包含多组测试数据。 每组数据由1~31个0、1组成,最后跟一个小写字母e或o,e表示此比特字符串应为偶性,o表示此比特字符串应为奇性。 当输入#时,表示输入结束。 输出 每组输入对应一个输出,你应该将最后的字母替换成0或1,使得此比特字符串符合输入时确定的奇偶性。 样例输入 101e 010010o 1e 000e 110100101o # 样例输出 1010 0100101 11 0000 1101001010 #include #include intmain() { inti,k,l; chara[35]; while(gets(a)) { k=0; if(! strcmp(a,"#")) break; l=strlen(a); for(i=0;i if(a[i]=='1') k++; if(k%2==0) { if(a[l-1]=='e') a[l-1]='0'; else a[l-1]='1'; } else { if(a[l-1]=='e') a[l-1]='1'; else a[l-1]='0'; } printf("%s\n",a); } return0; } 6、题目描述: 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。 如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。 如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。 给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。 样例输入 AABBBBAAAABBBBAA 样例输出 4 #include #include int main(){ char s[105]; scanf("%s",s); int l=strlen(s); while(l! =1){ int ok=1; for(int i=0;i if(s[i]! =s[l-1-i]) { ok=0; break; } } if(ok) l=l/2; if(! ok) break; } printf("%d",l); } 7、题目描述 现请你输出指定大小的“ACM”字符串。 特别地,我们要求输出的字符串是正方形的(行数和列数相等)。 输入 输入的第一行是一个正整数N(N<=20),表示一共有N组数据,接着是N行数据,每行包含一个正整数M(M<=50),表示一行内有M个“ACM”相连。 输出 输出指定的正方形字符串。 样例输入 2 1 2 样例输出 ACM ACM ACM ACMACM ACMACM ACMACM ACMACM ACMACM ACMACM 提示 来源 #include intmain() { intn,m,i,t; scanf("%d",&n); while(n--) { scanf("%d",&m); t=m; for(i=0;i { while(m--) printf("ACM"); printf("\n"); m=t; } } return0; } 8、题目描述 一个二进制数,将其每一位取反,称之为这个数的反码。 下面我们定义一个字符的反码。 如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。 举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。 一个字符串的反码定义为其所有字符的反码。 我们的任务就是计算出给定字符串的反码。 输入 输入每行都是一个字符串,字符串长度不超过80个字符。 如果输入只有! ,表示输入结束,不需要处理。 输出 对于输入的每个字符串,输出其反码,每个数据占一行。 样例输入 Hello JLU-CCST-2011 ! 样例输出 Svool QOF-XXHG-2011 #include #include char*StringInverted(char*str){ inti=0; while(str[i]){ if('a'<=str[i]&&str[i]<='z'){ str[i]='z'-str[i]+'a'; }elseif('A'<=str[i]&&str[i]<='Z'){ str[i]='Z'-str[i]+'A'; } i++; } returnstr; } intmain(){ charstr[100]; while(gets(str),strcmp(str,"! ")){ puts(StringInverted(str)); } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习 题目