C语言修炼之路函数篇真题训练下

  本文的Gitee地址:文章源代码

第壹题 :字符串逆序(递归实现)

C语言修炼之路函数篇真题训练下_第1张图片

方法一,非递归实现

main主体部分

C语言修炼之路函数篇真题训练下_第2张图片

  • 数组名是首元素的地址
  • 首元素是char类型,对应的传参元素过去就是  char*  类型

C语言修炼之路函数篇真题训练下_第3张图片

C语言修炼之路函数篇真题训练下_第4张图片

采用两个指针不断移动,然后交换两个位置的元素来实现逆序

C语言修炼之路函数篇真题训练下_第5张图片

方法贰,递归实现

大致思路

C语言修炼之路函数篇真题训练下_第6张图片

C语言修炼之路函数篇真题训练下_第7张图片

C语言修炼之路函数篇真题训练下_第8张图片

代码实现 (推荐自己手动模拟一下)

C语言修炼之路函数篇真题训练下_第9张图片

void reverse_string(char* str)
{
	int len = strlen(str);
	char tmp = str[0];
	str[0] = str[len - 1];
	str[len - 1] = '\0';
 
	if(strlen(str + 1) >= 2)  reverse_string(str + 1);
 
	str[len - 1] = tmp;
}

C语言修炼之路函数篇真题训练下_第10张图片

第贰题 :计算一个数的每位之和(递归实现)

C语言修炼之路函数篇真题训练下_第11张图片

C语言修炼之路函数篇真题训练下_第12张图片

C语言修炼之路函数篇真题训练下_第13张图片

int DigiSum(unsigned int n)
{
	if (n > 9)
	{
		return DigiSum(n / 10) + n % 10;
	}
	else
	{
		return n;
	}
}

第叁题 :递归实现n的k次方

C语言修炼之路函数篇真题训练下_第14张图片

C语言修炼之路函数篇真题训练下_第15张图片

到此这篇关于C语言修炼之路函数篇真题训练下的文章就介绍到这了,更多相关C语言 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(C语言修炼之路函数篇真题训练下)