C字符数组练习题及解答
- 格式:pdf
- 大小:333.17 KB
- 文档页数:5
字符数组
- 1 -第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]
cout<
第2题:
编写程序,将一个字符串首尾互换,并与原字符串连接后输出。输入
字符串(不包含空格),输出处理后的结果。
样例输入:china
样例输出:chinaanihc
#include
#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
return 0;
}第3题:
编写程序,输入由数字字符构成的字符串,分别统计该字符串中数字
字符对应的数字中奇数和偶数的个数。
样例输入: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
{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;字符数组
- 2 -}第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
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
#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;
}字符数组
- 3 -第1题:
编写程序,将一个字符串首尾互换后输出。输入字符串(允许包含空
格),输出处理后的结果。
#include
using namespace std;
int main()
{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
#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
{if(t==a[i]){flag=1;cout<
break;}}
if(flag==0)
cout<<"NO"<
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]=a[j];
j--;}b[i]='\0';
strcat(a,b);
cout<
return 0;}
第4题:
编写程序,输入一十六进制的数,如果输入的不是十六进制,则输出字符数组
- 4 -NO,否则输出对应的十进制值。
样例输入: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;l=strlen(a);
for(i=0;i
if(a[i]<'0'||a[i]>'9')
if(a[i]<'a'||a[i]>'f')
if(a[i]<'A'||a[i]>'F')
{cout<<"NO"<
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);
j--;}
else
{n=n+(a[i]-87)*pow(16,j-1);
j--;}}
cout<
return 0;}
第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<
return 0;}
第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
if(a[i]<'0'||a[i]>'9')