c语言作业第七天(函数)

1,输出一维数组的回文数字

  void Palindrome(int arr[],int n)

  1 #include

  2 void Palindrome(int arr[],int n)

  3 {

  4     int i,j,k,m;

  5     for(i=0;i

  6     {

  7        m=arr[i];

  8        k=0;

  9         while(m>0)

 10         {

 11             j=m%10;

 12             k=k*10+j;

 13             m=m/10;

 14         }                                                  

 15         if(k==arr[i])

 16         printf("%d\t",k);

 17     }

 18 }

 19 int main(int argc, const char *argv[])

 20 {

 21     int arr[]={101,110,121,112,111,100,1122,11211};

 22     int n=sizeof(arr)/sizeof(arr[0]);

 23     Palindrome(arr,n);

 24     return 0;

 25 }

c语言作业第七天(函数)_第1张图片

2,实现字符串匹配

例如:char str[]=”ababcabcdabcde” char str1[]=”abca”

输出子串在主串的下标2出现

 void  BF(char str[],char str1[]) //str是主串  str1是子串

  1 #include

  2 #include

  3 void BF(char str[],char str1[])

  4 {

  5     int i=0,j=0,n=strlen(str),k=strlen(str1);

  6     while(i

  7     {

  8         if(str[i]==str1[j])

  9         {

 10             i++;j++;

 11         }

 12         else

 13         {

 14             i=i-j+1;j=0;

 15         }

 16     }

 17         if(j==k)

 18         printf("在%d处匹配成功\n",i-j);

 19         else

 20         printf("匹配不成功!");

 21 }

 22 int main(int argc, const char *argv[])                                                                                   

 23 {

 24     char str[20]="";

 25     char str1[20]="";

 26     printf("请输入字符串:");

 27     scanf("%s",str);

 28     printf("请输入子串:");

 29     scanf("%s",str1);

 30     BF(str,str1);

 31

 32     return 0;

 33 }

c语言作业第七天(函数)_第2张图片

3,实现字符串逆置

void  MyStrrev( char str[] )

  1 #include

  2 #include

  3 void MyStrrev(char str[])

  4 {

  5     int i,j,k;

  6     int n=strlen(str);

  7     char t;

  8     char b[50]="";

  9     for(i=0;i

 10     {

 11         b[i]=str[n-i-1];

 12     }

 13     i=0,j=0;

 14     while(b[i]!='\0')

 15     {

 16         while(b[j]!=' '&&b[j]!='\0')

 17         {

 18         j++;

 19         }

 20         k=j-1;

 21         while(i

 22         {

 23             t=b[i];

 24             b[i]=b[k];

 25             b[k]=t;

 26             i++,k--;

 27         }

 28         while(b[j]==' ')

 29         {

 30             j++;

 31         }

 32         i=j;

 33     }

 34     printf("字符串逆置后为:%s\n",b);                                                                                     

 35 }

 36 int main(int argc, const char *argv[])

 37 {

 38     char str[50]="";

 39     printf("请输入一串字符串:\n");

 40     gets(str);

 41     MyStrrev(str);

 42     return 0;

 43 }

c语言作业第七天(函数)_第3张图片

你可能感兴趣的:(c语言,算法,c++,开发语言)