1,使用字符数组存储一段字符,判断是否是回文字符串(需要判断并忽略空格)
#include<iostream>
#include<cstring>
using namespace std;
void re(char *s){//逆置数组
int len = strlen(s);
for(int i=0;i<len/2;i++){
swap(s[i],s[len-i-1]);
}
}
bool huiwen(char *s){
char * temp ;
temp = new char[strlen(s)+1];//整个新的数组存
strcpy(temp,s);//记得拷贝过来
re(s);
int len = strlen(s);
int i = 0;
while(i<len){
if(s[i]!=temp[i]){
return false;
}
i++;
}
return true;
}
int main(){
char a[]= "i am a i";
char b[] ="aba";
cout<<huiwen(a)<<endl;
cout<<huiwen(b)<<endl;
return 0;
}
2,输入一行字符串,判断字符串出现的单词有多少个字母
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char str[] = "my name is xiao ming";
char *token;
token = strtok(str," ");
while(token!=NULL){
cout<<token<<" "<<strlen(token)<<endl;
token = strtok(NULL," ");
}
return 0;
}