第一题:试编一函数:判断字符串是否为回文.若是则函数值返回1.否则返回0.
int fun(char ch[])
{/*利用长度*/
int i,j,n,flag;
for(n=0;ch[n]!='\0';n++);
flag=1;
for(i=0,j=n-1;i<n/2;i++,j--)
if(ch[i]!=ch[j])
{
flag=0; break;
}
return flag;
}
int fun(char ch[])
{/*利用结束标记*/
int i,j,flag;
for(j=0;ch[j+1]!='\0';j++);
flag=1;
for(i=0;i!=j&&i-1!=j;i++,j--)
if(ch[i]!=ch[j])
{
flag=0; break;
}
return flag;
}
第二题:试编一函数:删除字符串中的所有空格.
void fun(char ch[])
{/*采用对不是空格的字符进行重新复制方法*/
int i,j;
for(i=0,j=0;ch[i]!='\0';i++)
if(ch[i]!=' ')
ch[j++]=ch[i];
ch[j]='\0';
}
void fun(char ch[])
{/*采用对空格的字符进行删除的方法*/
int i,j;
for(i=0;ch[i]!='\0';i++)
if(ch[i]==' ')
{
for(j=i+1;ch[j]!='\0';j++) ch[j-1]=ch[j];
ch[j-1]='\0';
}
}
第三题:试编一函数:将字符串中第1个到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部.
void fun(char s[],int m)
{
int i,j; char ch;
for(i=0;i<m;i++)
{
ch=s[0];
for(j=1;s[j]!='\0';j++) s[j-1]=s[j];
s[j-1]=ch;
}
}