目录
一、函数思维导图
二、作业
1、输出一维数组的回文数字
函数:void Palindrome(int arr[],int n)
#include <stdio.h>
#include <string.h>
void Palindrome(int arr[],int n)
{
int sum,i,t;
for(i=0;i<n;i++)
{
t=arr[i];
sum=0;
while(arr[i]>0)
{
sum=sum*10+arr[i]%10;
arr[i]/=10;
}
if(t==sum)
printf("%d是回文数\n",t);
}
}
int main(int argc, const char *argv[])
{
//输出一维数组的回文数字
int arr[]={121,1234321,32,26,818};
int n=sizeof(arr)/sizeof(int)-1;
Palindrome(arr,n);
return 0;
}
2、实现字符串匹配
函数:void BF(char str[],char str1[]) //str是主串 str1是子串
例:输入:char str[]=”ababcabcdabcde” char str1[]=”abca”
输出:子串在主串的下标2出现
#include <stdio.h>
#include <string.h>
void BF(char str[],char str1[]) //str是主串 str1是子串
{
int i=0,j=0;
while(i<=strlen(str))
{
if(str[i]==str1[j])
{
i++;j++;
}
else
{
i=i-j+1;
j=0;
}
if(j>=strlen(str1))
{
printf("在str中出现子串str2的下标为:%d\n",i-4);
}
}
}
int main(int argc, const char *argv[])
{
//实现字符串匹配
char str[]="ababcabcdabcde",str1[]="abca";
BF(str,str1);
return 0;
}
3、实现字符串逆置
函数:void MyStrrev( char str[] )
#include <stdio.h>
#include <string.h>
void MyStrrev(char str[])
{
char t=0;
int i=0,j=strlen(str)-1;
while(i<j)
{
t=str[i];str[i]=str[j];str[j]=t;
i++;j--;
}
printf("%s\n",str);
}
int main(int argc, const char *argv[])
{
//实现字符串逆置
char str[20]="";
printf("请输入一个字符串:");
scanf("%s",str);
MyStrrev(str);
return 0;
}