程序1:
mystrlen:
#include <stdio.h>
int mystrlen(char str[])
{
int i=0;
for( i=0;str[i]!='\0' ; i++)
return i;
}
int main(int argc, const char *argv[])
{
char str[100];
gets(str);
int len = mystrlen(str);
printf("len =%d\n", len);
return 0;
}
mystrcpy:
void mystrcpy (char str1[],char str2[])
{
int i=0;
for(i=0; str2[i]!= '\0'; i++)
{
str1[i]=str2[i];
}
str1[i]='\0';
puts(str1);
puts(str2);
return;
}
mystrcmp:
int mystrcmp (char str1[], char str2[])
{
int i,res;
for(i=0; str1[i]==str2[i];i++)
{
if(str1[i]=='\0')
{
printf("res=0,str1[100]与str2[100]相等\n");
break;
}
}
char a=str1[i]-str2[i];
if(str1[i]!=str2[i])
{
printf("res=%d,str1[100]小于str2[100]\n", a);
}
else
{
printf("res=%d,str1[100]大于str2[100]\n", a);
}
return res;
}
mystrcat:
void mystrcat (char str1[],char str2[])
{
int i;
for(i=0; str1[i]!='\0'; i++);
int j;
for(j=0; str2[j]!='\0'; j++,i++)
{
str1[i]=str2[j];
}
str1[i]='\0';
puts (str1);
return;
}
程序2:
#include <stdio.h>
int feibo(int x)
{
if(1 == x || 2 == x)
return 1;
else
return feibo(x-1)+feibo(x-2);
}
int main(int argc, const char *argv[])
{
int a;
int y1=1, y2=1;
int y3;
for (int i=3; i<=20; i++)
{
y3=y1+y2;
y1=y2;
y2=y3;
}
printf("y3=%d\n", y3);
int arr[20]={1,1};
for(int i=2; i<20; i++)
{
arr[i]=arr[i-1]+arr[i-2];
}
printf("arr[19]=%d\n", arr[19]);
a=feibo(20);
printf("a=%d\n", a);
return 0;
}
程序3:
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[10][10]={0};
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
if(j==0 || j==i)
{
arr[i][j]=1;
}
else
{
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
printf("%3d",arr[i][j]);
}
printf("\n");
}
return 0;
}