C++字符数组练习题及解答

2018-11-21 21:29

字符数组

第1题:

编写程序,比较两个字符串的大小,不允许使用strcmp函数。输入分2行,每一行均为字符串(不包含空格)。如果第一个字符串大于第二个字符串,则输出1;如果两个字符串大小相等,则输出0;如果第一个字符串小于第二个字符串,则输出-1。

样例输入: China

China

样例输出:0

#include int main()

{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]

第2题:

编写程序,将一个字符串首尾互换,并与原字符串连接后输出。输入字符串(不包含空格),输出处理后的结果。

样例输入:china 样例输出:chinaanihc #include #include int main()

{char str1[100],i;int n; cin>>str1; }第3题:

n=strlen(str1); for(i=0;i

{str1[n+i]=str1[n-i-1];}

for(i=0;i

cout<

编写程序,输入由数字字符构成的字符串,分别统计该字符串中数字字符对应的数字中奇数和偶数的个数。

样例输入:7843028503 样例输出:4 6 #include #include int main()

{int a[100],i,n,o,j;char str[100]; o=0; j=0;

cin>>str; n=strlen(str); for(i=0;i

{o=o+1;} else {j=j+1;} }

cout<

- 1 -

字符数组

}第4题:

编写程序,输入字符串(不包含空格),删除字符串中ASCII码值能被3整除的字符,将剩余字符按从小到大排序后输出。

样例输入:Chinancpeu 样例输出:Caehnnp #include #include int main()

{char str[100];int n,i,j,t; cin>>str; n=strlen(str); for(j=0;j

{for(i=0;istr[i+1])

{t=str[i];str[i]=str[i+1];str[i+1]=t;} }

for(i=0;i

continue; else

cout<

第5题:

编写程序,输入字符串(包含多个‘*’),删除所有除前导和尾部以外的‘*’。

样例输入:*******A*BC*DEF*G**** 样例输出:*******ABCDEFG**** #include { #include l++; int main() } { else char a[50],b[50]; break; gets(a); } int i,j=0,k=0,l=0,c=0; for(i=j-1;i>=0;i--) for(i=0;;i++) { { if(a[i]=='*') if(a[i]!='\\0') k++; j++; else else break; break; } } for(c=0;c

if(a[i]!='*')

{

b[c]=a[i]; c++; } }

for(i=0;i

b[c]='*'; c++; }

for(i=0;i

- 2 -

字符数组

第1题:

编写程序,将一个字符串首尾互换后输出。输入字符串(允许包含空格),输出处理后的结果。

#include using namespace std; int main() {char a[50],t; int l,j,i; gets(a);

样例输入:I am happy! 样例输出:!yppah ma I

l=strlen(a); j=0;i=l-1; while(j

j++; i--;} puts(a); return 0;}

第2题:

编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NO。

样例输入:Hello a 样例输出:NO 样例输入:Hello l 样例输出:2 #include #include using namespace std; int main() {char a[50],t;

int l,i,flag=0; cin>>a>>t; l=strlen(a); for(i=0;i

cout<<\return 0;}

第3题:

编写程序,将一个字符串首尾互换,并与原字符串连接后输出。输入字符串(不包含空格),输出处理后的结果。

样例输入:china 样例输出:chinaanihc #include #include using namespace std; int main()

{char a[50],b[50]; int l,i,j;

cin>>a; l=strlen(a); j=l-1;

for(i=0;i

b[i]='\\0'; strcat(a,b);

cout<

第4题:

编写程序,输入一十六进制的数,如果输入的不是十六进制,则输出NO,否则输出对应的十进制值。

- 3 -

字符数组

样例输入:1A2b 样例输出:6699 样例输入:15G9 样例输出:NO

#include #include #include using namespace std; int main() {char a[50];

int l,i,flag=0,n=0,j; cin>>a; j--;} else

{n=n+(a[i]-87)*pow(16,j-1); j--;}}

cout<

l=strlen(a); for(i=0;i'9') if(a[i]<'a'||a[i]>'f') if(a[i]<'A'||a[i]>'F') {cout<<\flag=1; break;} j=l;

if(flag==0)

{for(i=0;i

{if(a[i]>='0'&&a[i]<='9') {n=n+(a[i]-'0')*pow(16,j-1); j--;}

else if(a[i]>='A'&&a[i]<='F') {n=n+(a[i]-55)*pow(16,j-1);

第5题:

编写程序,输入由数字字符构成的字符串,分别统计该字符串中数字字符对应的数字中奇数和偶数的个数。

样例输入:7843028503 样例输出:4 6 #include #include #include using namespace std; int main() {

char a[50];

int l,i,j=0,o=0; cin>>a; l=strlen(a); for(i=0;i

if(a[i]%2==0) o++;

else j++; }

cout<

第6题:

编写程序,输入字符串(不包含空格),删除其中的数字字符后输出。

样例输入:2008China08 样例输出:China #include #include #include using namespace std; int main()

{char a[50],b[50];

int l,i,j; cin>>a; l=strlen(a); j=0;

for(i=0;i'9')

{b[j]=a[i]; j++;} b[j]='\\0';

cout<

- 4 -

字符数组

第7题:

编写程序,输入字符串(包含空格),统计其中单词的个数,单词之间以一个或多个空格分隔。

样例输入:How are you 样例输出:3

#include using namespace std; int main() { char str[30]; int i,flag,m=0; gets(str); if(str[0]==' ')

flag=0; else flag=1;

for(i=0;str[i]!=0;i++) if(flag==1 && str[i]==' ') {m++;flag=0;} else

if(flag==0 && str[i]!=' ')flag=1; m++; cout<

第8题:

编写程序,输入字符串(不包含空格)和子串,统计该字符串中指定子串的个数。

样例输入:abababab bab 样例输出:3

#include #include using namespace std; int main() {

char s1[50],s2[50],s3[50]; int i,l,m,n; m=0;

cin>>s1; cin>>s2; n=strlen(s2);

for(i=0;s1[i]!='\\0';i++) {

for(l=0;l

if(strcmp(s2,s3)==0) m++; }

cout<

- 5 -


C++字符数组练习题及解答.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:单片机

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: