杭电ACM第1003题提醒我 Runtime Error (ACCESS_VIOLATION)我程序能再VC++中运行的啊。。郁闷啊!!
#include<stdio.h>voidmain(){intn,m,a[100],i,j,sum[100],fir[100],sec[100];scanf("%d",&...
#include<stdio.h>
void main()
{
int n,m,a[100],i,j,sum[100],fir[100],sec[100];
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&m);
for(j=1;j<=m;j++)
{
scanf("%d",&a[j]);
}
if(a[m]<0)
{
for(j=1,sum[i]=0;j<=m-1;j++)
sum[i]=sum[i]+a[j];
}
else
{ for(j=1,sum[i]=0;j<=m;j++)
sum[i]=sum[i]+a[j];
}
for(j=1;j<=m;j++)
{
if(a[j]>=0)
{
fir[i]=j;
break;
}
}
for(j=m;j>0;j--)
{
if(a[j]>=0)
{ sec[i]=j;
break;}
}
}
for(i=1;i<=n;i++)
{
printf("case %d:\n",i);
printf("%d %d %d\n",sum[i],fir[i],sec[i]);
printf("\n");
}
} 展开
void main()
{
int n,m,a[100],i,j,sum[100],fir[100],sec[100];
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&m);
for(j=1;j<=m;j++)
{
scanf("%d",&a[j]);
}
if(a[m]<0)
{
for(j=1,sum[i]=0;j<=m-1;j++)
sum[i]=sum[i]+a[j];
}
else
{ for(j=1,sum[i]=0;j<=m;j++)
sum[i]=sum[i]+a[j];
}
for(j=1;j<=m;j++)
{
if(a[j]>=0)
{
fir[i]=j;
break;
}
}
for(j=m;j>0;j--)
{
if(a[j]>=0)
{ sec[i]=j;
break;}
}
}
for(i=1;i<=n;i++)
{
printf("case %d:\n",i);
printf("%d %d %d\n",sum[i],fir[i],sec[i]);
printf("\n");
}
} 展开
1个回答
展开全部
#include "stdio.h"
main(){
int n;
int max,temp,p1,p2;
int now;
int i=2,j;
int x;
int s;
scanf("%d",&n);
for(j=1;j<=n;j++){
scanf("%d%d",&s,&temp);
now=max=temp;
p1=p2=x=1;
for(i=2;i<=s;i++){
scanf("%d",&temp);
if(now+temp<temp){
now=temp;
x=i;
}
else
now+=temp;
if(now>max){
max=now;
p1=x;
p2=i;
}
}
printf("Case %d:\n%d %d %d\n",j,max,p1,p2);
if(j!=n)printf("\n");
}
}
这是我通过的代码
main(){
int n;
int max,temp,p1,p2;
int now;
int i=2,j;
int x;
int s;
scanf("%d",&n);
for(j=1;j<=n;j++){
scanf("%d%d",&s,&temp);
now=max=temp;
p1=p2=x=1;
for(i=2;i<=s;i++){
scanf("%d",&temp);
if(now+temp<temp){
now=temp;
x=i;
}
else
now+=temp;
if(now>max){
max=now;
p1=x;
p2=i;
}
}
printf("Case %d:\n%d %d %d\n",j,max,p1,p2);
if(j!=n)printf("\n");
}
}
这是我通过的代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询