求求大家帮我编个c程序吧

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:46:06
假设有一个数组X[ ],它有n个元素,每个都大于0,称X[0]+X[1]+。。。。X[i]为前置和,而X[j]+X[j+1]+….X[n-1]为后置和。试编写一个程序,求出X[ ]中有多少组相同的前置和后置和。
例如:
输入:
Given Array : 3 6 2 1 4 5 2
输出:
There are 3 equal Prefix-Suffix sum pairs.
没有多少分,请大家见量

呵呵 我们下学期才开C语言 现在实在是不会啊

快忘了,给你个思路吧,格式可能不对

定义三个变量
前置和:SumX
后置和:SumY
个数:Sum
初始值都是零
for(i=0,i<n,i++)//for应该是这个格式吧
{SumX=SumX+X[i]; //前置和
for(j=n-1,i>=0,j--)
{SumY=SumY+X[j];//后置和
if(SumX=SumY) then
{Sum=Sum+1; //如果相等个数加1
SumY=0; //后置和清零下次比较重新计算
? //跳出循环,可能是用break吧,记不清了
}
}

下边的代码通过TC2.0编译,
main()
{
int SumX=0;
int SumY=0;
int Sum=0;
int i,j,n;
int X[100];
printf("Input number(0 to end):");
for(n=0;;n++)
{scanf("%d",&X[n]);
if(X[n]==0)
{n--;
break ;
}
printf("Next number (or 0 to end):");
}
for(i=0;i<=n;i++)
{SumX=SumX+X[i];
for(j=n;i>=0;j--)
{SumY=SumY+X[j];
if(SumX==SumY)
{Sum=Sum+1;
SumY=0;
break;
}
}
}
printf(