超大数组要放在全局,放在主函数会爆
#include <stdio.h>
long long a[1000001];
int main()
{
int n,i;
int max,count;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%lld",&a[i]);
}
max=1;
count=1;
for(i=0;i<n-1;i++){
if(a[i+1]>a[i]){
count++;
if(count>max){
max=count;
}
}else if(a[i+1]<a[i]){
count=1;
}
}
printf("%d",max);
return 0;
}
也可以动态存储分配
#include <stdio.h>
#include <stdlib.h>
int main() {
int *a;
int n, i;
int max = 1, count = 1;
scanf("%d", &n);
a = (int *)malloc(n * sizeof(int));
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n - 1; i++) {
if (a[i + 1] > a[i]) {
count++;
if (count > max) {
max = count;
}
} else {
count = 1;
}
}
printf("%d", max);
free(a);
return 0;
}