C字符数组练习题及解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1题:
编写程序,比较两个字符串的大小,不允许使用strcmp函数。输入分2行,每一行均为字符串(不包含空格)。如果第一个字符串大于第二个字符串,则输出1;如果两个字符串大小相等,则输出0;如果第一个字符串小于第二个字符串,则输出-1。
样例输入:
China
China
样例输出:0
#include
{char a[100],b[100];int t=0,i;cin>>a;cin>>b;
for(i=0;a[i]!=0||b[i]!=0;i++)
{if(a[i]>b[i]){t=1;break;}
if(a[i]
cout< 第2题: 编写程序,将一个字符串首尾互换,并与原字符串连接后输出。输入字符串(不包含空格),输出处理后的结果。 样例输入:china 样例输出:chinaanihc #include int main() {char str1[100],i;int n; cin>>str1; n=strlen(str1); for(i=0;i {str1[n+i]=str1[n-i-1];} for(i=0;i cout< return 0; }第3题: 编写程序,输入由数字字符构成的字符串,分别统计该字符串中数字字符对应的数字中奇数和偶数的个数。 样例输入:7843028503 样例输出:4 6 #include {int a[100],i,n,o,j;char str[100]; o=0; j=0; cin>>str; n=strlen(str); for(i=0;i {a[i]=str[i];} for(i=0;i {a[i]=a[i]-48; if(a[i]%2==0) {o=o+1;} else {j=j+1;} } cout< return 0; }第4题: 编写程序,输入字符串(不包含空格),删除字符串中ASCII码值能被3整除的字符,将剩余字符按从小到大排序后输出。 样例输入:Chinancpeu 样例输出:Caehnnp #include int main() {char str[100];int n,i,j,t; cin>>str; n=strlen(str); for(j=0;j if(str[i]>str[i+1]) {t=str[i];str[i]=str[i+1];str[i+ 1]=t;} } for(i=0;i {if(str[i]%3==0) continue; else cout< return 0; } 第5题: 编写程序,输入字符串(包含多个‘*’),删除所有除前导和尾部以外的‘*’。 样例输入:*******A*BC*DEF*G**** 样例输出:*******ABCDEFG**** #include int main() { char a[50],b[50]; gets(a); int i,j=0,k=0,l=0,c=0; for(i=0;;i++) { if(a[i]!='\0') j++; else break; } for(i=0;i { if(a[i]=='*') { l++; } else break; } for(i=j-1;i>=0;i--) { if(a[i]=='*') k++; else break; } for(c=0;c b[c]='*'; for(i=l;i { if(a[i]!='*') { b[c]=a[i]; c++; } } for(i=0;i { b[c]='*'; c++; } for(i=0;i cout< return 0; } 第1题: 编写程序,将一个字符串首尾互换后输出。输入字符串(允许包含空格),输出处理后的结果。 #include {char a[50],t; int l,j,i; gets(a); l=strlen(a); j=0;i=l-1; while(j {t=a[j]; a[j]=a[i]; a[i]=t; j++; i--;} puts(a); return 0;} 样例输入:I am happy! 样例输出:!yppah ma I 第2题: 编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NO。 样例输入:Hello a 样例输出:NO 样例输入:Hello l 样例输出:2 #include {char a[50],t; int l,i,flag=0; cin>>a>>t; l=strlen(a); for(i=0;i {if(t==a[i]) {flag=1;cout< break;}} if(flag==0) cout<<"NO"< return 0;} 第3题: 编写程序,将一个字符串首尾互换,并与原字符串连接后输出。输入字符串(不包含空格),输出处理后的结果。 样例输入:china 样例输出:chinaanihc #include {char a[50],b[50]; int l,i,j; cin>>a; l=strlen(a); j=l-1; for(i=0;i {b[i]=a[j]; j--;} b[i]='\0'; strcat(a,b); cout< return 0;} 第4题: 编写程序,输入一十六进制的数,如果输入的不是十六进制,则输出NO,否则输出对应的十进制值。