C語言修煉之路函數篇真題訓練下

🎁  本文的Gitee地址:文章源代碼

第壹題 :字符串逆序(遞歸實現)

方法一,非遞歸實現

main主體部分

  • 數組名是首元素的地址
  • 首元素是char類型,對應的傳參元素過去就是  char*  類型

采用兩個指針不斷移動,然後交換兩個位置的元素來實現逆序

方法貳,遞歸實現

大致思路

代碼實現 (推薦自己手動模擬一下)

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;
}

第貳題 :計算一個數的每位之和(遞歸實現)

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

第叁題 :遞歸實現n的k次方

到此這篇關於C語言修煉之路函數篇真題訓練下的文章就介紹到這瞭,更多相關C語言 函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: