用递归实现判断数组是否递增:
如果数组长度为1,则数组为递增,返回True.
如果数组长度为n,则先比较最后两个元素是否递增,如果最后两个元素递增,则再递归比较去掉最后一个元素的最后两个元素,代码如下:
#include <stdio.h> bool isincrease(int *a,int n) { if(n==1) return 1; return (a[n-1]>=a[n-2])&&isincrease(a,n-1); } int main() { int a[10]={1,2,3,4,5,16,7,8,9,10}; printf("%d\n",isincrease(a,10)); return 0; }
在递归函数里用到了&&的短路技巧,如果a[n-1]>=a[n-2]不成立则返回0,否则继续比较去掉最后一个元素的最后两个元素之间的大小关系。
时间: 2025-01-22 20:30:49