1. 使用字符数组存储一段字符,判断是否是回文字符串(需要判断并忽略空格)
#include<iostream>
using namespace std;
bool judge(char *s)
{
int left=0;
int right=strlen(s)-1;
while(left<=right)
{
if(s[left++]==s[right--])
continue;
else
return false;
}
return true;
}
char * init(char *s)
{
char *news;
news = new char[strlen(s)+1];
int i=0,j=0;
while(i<strlen(s))
{
if(s[i]!=' ')
{
news[j]=s[i];
j++;
i++;
}
else
{
i++;
}
}
return news;
}
int main()
{
char *s="123 454 32 1";
if(judge(init(s)))
cout<<s<<"是回文字符串"<<endl;
else
cout<<s<<"不是回文字符串"<<endl;
return 0;
}
2.输入一行字符串,判断字符串出现的单词有多少个字母
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
char* stringtochar(string str)
{
char *s;
s=new char[str.length()+1];
for(int i=0;i<str.length();i++)
{
s[i]=str[i];
}
return s;
}
void test(string str)
{
char *nstr=stringtochar(str);
char s[10]={' '};
char *token;
token=strtok(nstr,s);
while(token!=NULL)
{
cout<<setw(8)<<token<<setw(8)<<strlen(token)<<endl;
token=strtok(NULL,s);
}
}
int main()
{
string str="why I am a vegetable chicken";
test(str);
return 0;
}