//1.自定义函数strlen
#include <stdio.h>
int mystrlen(char brr[100])
{
int count1=0;
for(int i=0;brr[i]!='\0';i++)
{
count1+=1;
}
return count1;
}
int main(int argc, const char *argv[])
{
char arr[100];
printf("输入字符串");
gets(arr);
int k=mystrlen(arr);
printf("%d\n",k);
return 0;
}
//2.杨辉三角
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[10][10];
arr[0][0] = 1;
for (int i = 1; i < 10; i++)
{
arr[i][0] = 1;
arr[i][i] = 1;
for (int j = 1; j < i; j++)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <= i; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
//3.改写mystrcpy
#include <stdio.h>
void mystrcpy(char a[100],char b[100])
{
for(int i=0;b[i]!='\0';i++)
{
a[i]=b[i];
}
puts(a);
}
int main(int argc, const char *argv[])
{
char str1[100];
char str2[100];
printf("输入第一个字符串");
gets(str1);
printf("输入第二个字符串");
gets(str2);
mystrcpy(str1,str2);
return 0;
}
//4.改写mystrcmp
#include <stdio.h>
void mystrcmp(char str1[100],char str2[100])
{
int i;
int k = 0;
for (i = 0; str1[i] != '\0'&&str2[i] != '\0'; i++)
{
k = str1[i] - str2[i];
if (k > 0)
{
printf("str1 > str2\n");
break;
}
else if (k < 0)
{
printf("str1 < str2\n");
break;
}
}
if (str1[i] == '\0'&&str2[i] == '\0')
{
printf("str1 = str2\n");
}
else if (str1[i] == '\0')
{
printf("str1 < str2\n");
}
else if (str2[i] == '\0')
{
printf("str1 > str2\n");
}
}
int main(int argc, const char *argv[])
{
char arr[100];
char brr[100];
printf("输入第一个字符串:");
gets(arr);
printf("输入第二个字符串:");
gets(brr);
mystrcmp(arr,brr);
return 0;
}
*/
//5.改写mystrcat
#include <stdio.h>
void mystrcat(char str1[100], char str2[100]) {
int len1 = 0;
while (str1[len1] != '\0') {
len1++;
}
int i = 0;
while (str2[i] != '\0') {
str1[len1 + i] = str2[i];
i++;
}
str1[len1 + i] = '\0';
printf("拼接后的字符串:%s\n", str1);
}
int main(int argc, const char *argv[]) {
char arr1[100];
char arr2[100];
printf("输入第一个字符串:");
gets(arr1);
printf("输入第二个字符串:");
gets(arr2);
mystrcat(arr1, arr2);
return 0;
}
// 6.递归函数计算斐波那契数列的第n项
int fibonacci(int n)
{
if (n <= 0)
{
return 0;
}
else if (n == 1 || n == 2)
{
return 1;
}
else
{
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main(int argc, const char *argv[])
{
int n;
printf("请输入要计算的斐波那契数列的项数 n: ");
scanf("%d", &n);
if (n <= 0)
{
printf("输入的n必须大于0。\n");
}
else
{
int result = fibonacci(n);
printf("斐波那契数列的第 %d 项是: %d\n", n, result);
}
return 0;
}