add
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
|
||||
// 递归函数来找最大值
|
||||
int findMax(int arr[], int size) {
|
||||
if (size == 1) {
|
||||
return arr[0];
|
||||
}
|
||||
// 递归查找前 size-1 个元素的最大值,
|
||||
//arr + 1 是指向数组中第二个元素的指针,即 arr[1] 的地址
|
||||
int maxOfRest = findMax(arr + 1, size - 1);
|
||||
|
||||
// 返回当前第一个元素和递归结果中的较大者
|
||||
return (arr[0] > maxOfRest) ? arr[0] : maxOfRest;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int arr[] = {3, 5, 2, 8, 6, 7}; // 示例数组
|
||||
int size = sizeof(arr) / sizeof(arr[0]);
|
||||
|
||||
// 调用递归函数,初始时数组的大小为 size
|
||||
int max = findMax(arr, size);
|
||||
|
||||
printf("数组中最大的值是:%d\n", max);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
#include <stdio.h>
|
||||
|
||||
// 定义递归打印三角形的函数
|
||||
void recursionSanjiao(int n) {
|
||||
// 如果n大于等于0
|
||||
if (n >= 0) {
|
||||
// 打印一行星号
|
||||
for (int i = 0; i < n; i++) {
|
||||
printf("*");
|
||||
}
|
||||
printf("\n"); // 换行
|
||||
recursionSanjiao(n - 1); // 递归调用,n减1
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
int testValue = 5; // 可以改变这个值来测试不同的情况
|
||||
recursionSanjiao(testValue);
|
||||
return 0;
|
||||
}
|
||||
Binary file not shown.
Reference in New Issue
Block a user