1.strcmp函数封装(指针)
#include <stdio.h>
#include <string.h>
int mystrlen(char *s);
int mystrcmp(char *s1,char *s2);
//封装strcmp函数;
int main(int argc, const char *argv[])
{
char arr[30]="";
printf("请输入第一个字符串>>>");
gets(arr);
char brr[30]="";
printf("请输入第二个字符串>>>");
gets(brr);
int value = 0;
value = mystrcmp(arr,brr);
printf("value = %d\n",value);
return 0;
}
int mystrlen(char *s)
{
char *ptr = s;
int len = 0;
while(*ptr!='\0')
{
len++;
ptr++;
}
return len;
}
int mystrcmp(char *s1,char *s2)
{
char *ptr1 = s1;
char *ptr2 = s2;
int i = 0;
int len1 = mystrlen(ptr1);
int len2 = mystrlen(ptr2);
int min = len1;
int value = 0;
if(len1>len2)
{
min = len2;
}
for(i=0;i<=min;i++)
{
if(*(ptr1+i) != *(ptr2+i))
{
value = *(ptr1+i) - *(ptr2+i);
break;
}
}
return value;
}
2.strcpy函数封装(指针)
#include <stdio.h>
#include <string.h>
char *mystrcpy(char *dest,char *src);
//封装strcpy函数;
int main(int argc, const char *argv[])
{
char arr[30]="";
printf("请输入第一个字符串>>>");
gets(arr);
char brr[30]="";
printf("请输入第二个字符串>>>");
gets(brr);
puts(mystrcpy(arr,brr));
return 0;
}
char *mystrcpy(char *dest,char *src)
{
char *ptr1 = dest;
char *ptr2 = src;
int i = 0;
for(i=0;*(ptr2+i) != 0;i++)
{
*(ptr1+i) = *(ptr2+i);
}
*(ptr1+i) = 0;
return ptr1;
}
3.strcat函数封装(指针)
#include <stdio.h>
#include <string.h>
char *mystrcpy(char *dest,char *src);
//封装strcpy函数;
int main(int argc, const char *argv[])
{
char arr[30]="";
printf("请输入第一个字符串>>>");
gets(arr);
char brr[30]="";
printf("请输入第二个字符串>>>");
gets(brr);
puts(mystrcpy(arr,brr));
return 0;
}
char *mystrcpy(char *dest,char *src)
{
char *ptr1 = dest;
char *ptr2 = src;
int i = 0;
for(i=0;*(ptr2+i) != 0;i++)
{
*(ptr1+i) = *(ptr2+i);
}
*(ptr1+i) = 0;
return ptr1;
}
4.递归函数写斐波那契数列
#include <stdio.h>
#include <string.h>
//斐波那契数列函数封装;
int fn(int num);
int main(int argc, const char *argv[])
{
int num= 0;
printf("输入斐波那契数列的个数>>>");
scanf("%d",&num);
int i = 0;
for(i=num-1;i>=0;i--)
{
printf("%d ",fn(num-i));
}
if(num<1)
{
printf("输入错误,请重新输入正整数值");
}
putchar(10);
return 0;
}
int fn(int num)
{
if(num ==2 || num==1)
{
return 1 ;
}
else if(num>2)
{
return fn(num-1)+fn(num-2);
}
}