帮我看看我的代码有什么问题,代码有输入没输出
题目:
输入一个整型数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。输出其中最大的和
输入
输入有n+1行,第一行有一个n表示有n组测试数据,接下来n行,每行第一个数表示数组长度m,接下来是m个数组元素(长度不超过100,数组元素必包含正数和负数)。
输出
输出有n行,对应每组输入数组的最大子数组之和。
#include<stdio.h>
int Maxsum(int arr[],int a)
{
int Thissum,Maxsum,i;
Thissum,Maxsum = 0;
for(i = 0;i<a;i++)
{
Thissum += arr[i];
if(Thissum>Maxsum)
Maxsum = Thissum;
else if(Thissum<0)
Thissum = 0;
}
return Maxsum;
}
int main()
{
int a,i,j,n,max,arr[10000];
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%d",&a);
for(j = 0;j<a;j++)
scanf("%d",&arr[i]);
max = Maxsum(arr[a],a);
printf("%d\n",max);
}
return 0;
}