编写一个程序求一个由10项元素组成的等差数列,其奇数项和为135,偶数项和为150。

我用java编的程序运行的结果不对啊...

public class Qu
{

public static void main(String args[])
{

int s1,s2,d,n,a,i;
int Ap[]=new int[11];
for(d=1;d<=4;d++)

{
for(a=0;a<=20;a++)

{
for(n=1;n<=10;n++)
{
Ap[n]=a;
a=a+d;
}

{
s1=Ap[1]+Ap[3]+Ap[5]+Ap[7]+Ap[9];
s2=Ap[2]+Ap[4]+Ap[6]+Ap[8]+Ap[10];
if((s1==135)&&(s2==150))
{
for(i=1;i<=10;i++)
System.out.println(Ap[i]+" ");

}
}
}
}

}
}

如果把for(a=0;a<=20;a++)改成for(a=15;a<=20;a++)那么就能输出正确的答案了...为什么呀?求指导!改了一晚上了都没看出错误...凌乱中...

public class java_baidu16
{
public static void main(String args[])
{
int s1,s2,d,n,a,i;
int Ap[]=new int[11];
for(d=1; d<=4; d++)
{
for(a=0; a<=20; a++)
{
for(n=1; n<=10; n++)
{
Ap[n]=a+(n-1)*d;//。。。。这条及下面一条语句改成这样子就可以了
// a=a+d;//。。。。。这行改变了a的值使a只循环了一次就退出循环了
}

s1=Ap[1]+Ap[3]+Ap[5]+Ap[7]+Ap[9];
s2=Ap[2]+Ap[4]+Ap[6]+Ap[8]+Ap[10];
if((s1==135)&&(s2==150))
{
for(i=1; i<=10; i++)
System.out.println(Ap[i]+" ");
}
}
}
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答