1.写一个类斐波那契数列 1 1 2 3 5 8 13 21 34 ...
#include <stdio.h>
#include <string.h>
void seriez(void) ;
void seriez(void)
{
// int forst = 1;
// int second = 1;
// int sound ;
int str[20];
int *p = str;
int i,j;
for(i=0;i<20;i++)
{
if(i<2)
{
*(p+i) = 1;
printf("%d ",*(p+i));
}
else
{
// sound = forst + second;
// forst = second;
// second = sound;
*(p+i) = *(p-1+i) + *(p-2+i);
printf("%d ",*(p+i));
}
}
printf("\n");
}
int main(int argc, const char*argv[])
{
seriez();
return 0;
}
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
2.二维整形数组的最大值;
#include <stdio.h>
#include <string.h>
void maxnum(void);
void maxnum(void)
{
int str[3][3]={{1,8,5},{7,6,9},{2,4,6}};
int (*p)[3] = str;
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(**p<*(*(p+i)+j))
**p = *(*(p+i)+j);
}
}
printf("%d\n",**p);
}
int main(int argc, const char*argv[])
{
maxnum();
return 0;
}
9
3.函数族的封装。
char *strcat(char *dest, const char *src);
#include <stdio.h>
#include <string.h>
char *strcat(char *dest, const char *src);
char *strcat(char *dest, const char *src)//拼接函数
{
char *p = dest;
while(*dest)
*dest++;
while((*dest++ = *src++));
return p;
}
int main(int argc, const char*argv[])
{
char str1[20];
char str2[20];
char *dest = str1;
char *src = str2;
gets(dest);//输入字符串
gets(src);
printf("%s\n",strcat(dest,src));
return 0;
}
sdqr
vascb
sdqrvascb
char *strlen(char *dest, const char *src);