杭电acm 1003题,我为什么不能ac????

2024-11-03 20:23:21
推荐回答(3个)
回答(1):

可能是数组定义太小了吧,我发我的ac代码给你参考一下
#include
int a,b[100001],sum;
int main()
{
int t,i,n,j,k,a1,b1,max;
scanf("%d",&t);
for(j=1;j<=t;j++)
{
scanf("%d",&n);
max=-9999;sum=0;
for(i=k=1;i<=n;i++)
{
scanf("%d",&a);
sum+=a;
if(max {
max=sum;
b1=i;a1=k;
}
if(sum<0)
{sum=0;
k=i+1;
}
}
printf("Case %d:\n",j);
printf("%d %d %d\n",max,a1,b1);
if(j!=t)printf("\n");
}
return 0;
}

回答(2):

#include
#include
using namespace std;

int Digit(int n)
{
int digit=0;
while(true)
{
digit=0;
while(n)
{
digit+=n%10;
n/=10;
}
if(digit<10) return digit;
n=digit;
}
}
int main()
{
int digit, sum, i;
string s;
while(cin>>s)
{
sum=0;
for(i=0; i sum+=s[i]-'0';
if(sum==0) break;
digit=Digit(sum);
cout< }
return 0;
}

回答(3):

数组开小了