1.求最大字串和,你的题意理解有点错,最大字串不一定是从第一个开始的。
printf("%d 1 %d\n\n",f[i],g[i]); //这个中间不一定是1.,没理解题意
2.格式错误,两个以上case时,每个case【之间】有一空行看,所以最后一行后面无空行。
printf("%d 1 %d\n\n",f[i],g[i]); // \n\n的写法没有根据题意,必错
你还是好好读一遍题目吧。
参考代码:
#include
int main(){
int i,cas,j,k,t,max,s,e,n,x;
while(scanf("%d",&cas)!=EOF){
for(i=0;i
printf("Case %d:\n",i+1);
scanf("%d",&n);
max=-9999;
for(j=k=1,t=0;j<=n;j++){
scanf("%d",&x);
t+=x;
if(t>max) {max=t;s=k;e=j;}
if(t<0) {k=j+1;t=0;}
}
printf("%d %d %d\n",max,s,e);
}
}
return 0;
}