1、输出一维数组的回文数字
#include<stdio.h>
void Palindrome(int arr[],int n)
{
int i=0,j=n-1-i,count=0;
for(i=0;i<n-1;i++)
{
if(arr[i]!=arr[j])
count++;
j--;
}
if(count==0)
{
for(i=0;i<n;i++)
{
printf("%d",arr[i]);
}
printf("\n");
}
else
printf("不是回文数字\n");
}
int main(int argc, const char *argv[])
{
int arr[]={1,2,3,4,4,3,2,1},n=sizeof(arr)/sizeof(arr[0]);
Palindrome(arr,n);
return 0;
}
2、实现字符串匹配
#include<stdio.h>
void BF(char str[],char str1[],int n,int m)
{
int i,j;
for(i=0,j=0;i<n-1;i++)
{
if(str[i]!=str1[j])
{
i-=j;
j=0;
}
else
j++;
if(j==m-1)
break;
}
printf("子串在主串的%d位出现\n",i+2-m);
}
int main(int argc, const char *argv[])
{
char str[]="ababcabcdabcde",str1[]="abca";
int n=sizeof(str)/sizeof(str[0]),m=sizeof(str1)/sizeof(str1[0]);
BF(str,str1,n,m);
return 0;
}
3、实现字符串逆置
#include<stdio.h>
void MyStrrev(char str[],int n)
{
int i=0,m=n-2;
char t;
for(i=0;i<m+1;i++)
{
t=str[i];str[i]=str[m];str[m]=t;
m--;
}
printf("%s\n",str);
}
int main(int argc, const char *argv[])
{
char str[]="asdjkld";
int n=sizeof(str)/sizeof(str[0]);
MyStrrev(str,n);
return 0;
}