1.利用递归,求斐波纳契数列第10项的值(55)
#include <stdio.h> int fibo(unsigned int n); #define FALSE -1; int main(void) { // 定义变量,求斐波那契数列第10项的值 int n = 10; // 调用方法 int value = fibo(n); // 输出结果 printf("斐波那契数列滴%d项的值value = %d\n", n, value); return 0; } int fibo(unsigned int n) { // 判断 if(n <= 0) { printf("入参错误!"); return FALSE; } else if(n == 1 || n == 2) { // 前两项都为1 return 1; } else { // 从第三项开始,为前两项和 return fibo(n - 1) + fibo(n - 2); } }
2.自己写一个my_strlen(char str[], int lenth)
#include <stdio.h> int my_strlen(char str[], int length); int main(void) { // 定义一个字符串,长度大一点 char str[100] = "hello"; // 统计字符个数 int count = my_strlen(str, 100); // 输出 printf("str中的字符个数count = %d\n", count); return 0; } int my_strlen(char str[], int length) { // 定义计数器 int count = 0; int i = 0; // 遍历字符数组 for(i = 0; i < length; i++) { // 如果是结束标记,则跳出循环 if(str[i] == '\0') { break; } // 不是结束标记,计数器加1 count++; } return count; }
3.字符串ABCDEF,写一个函数翻转一下:FEDCBA。要求:printf("%s.\n", str);
#include <stdio.h> void str_reveres(char str[], int length); int main(void) { // 定义一个字符串 char str[100] = "ABCDEF"; // 输出 printf("str反转前:%s\n", str); // 反转 str_reveres(str, 100); // 输出 printf("str反转后:%s\n", str); return 0; } void str_reveres(char str[], int length) { // 先统计字符的个数 // 定义计数器 int count = 0; int i = 0; // 遍历字符数组 for(i = 0; i < length; i++) { // 如果是结束标记,则跳出循环 if(str[i] == '\0') { break; } // 不是结束标记,计数器加1 count++; } // 反转 for(i = 0; i < count / 2; i++) { int temp = str[i]; str[i] = str[count - i - 1]; str[count - i - 1] = temp; } }