一道C语言题,求编程高手!
原题是这样的:给定一段连续的整数,求出他们中所有偶数的平方和与所有奇数的立方和相减后的结果,所得到的结果取绝对值。输入数据包含多组测试实例,每组测试实例包含一行,由两个整...
原题是这样的:
给定一段连续的整数,求出他们中所有偶数的平方和与所有奇数的立方和相减后的结果,所得到的结果取绝对值。
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
对于每组输入数据,输出一行,x-y=z,x表示该段连续的整数中所有偶数的平方和,y表示该段连续的整数中所有奇数的立方和,z表示x和y的差的绝对值。你可以认为32位整数足以保存结果。
例如输入:
1 3
2 5
2 4
得到:
Case 1:
4-28=24
Case 2:
20-152=132
Case 3:
20-27=7
以下是我编写的程序,在VC6.0上能成功编译和运行,而且答案正确。
但是提交给学校OJ后,系统给我的评价是Wrong Answer,但我自己检查不出错在哪里,
求高手帮忙啊!
#include<stdio.h>
#include <math.h>
int main()
{
long m,n,p,q,x=0,y=0,z,i;
while(EOF!=scanf("%d%d",&m,&n))
{
if(m==n){continue;}
else{
p=m;q=n;}
if(m>n){m=q;n=p;}
else{m=p;n=q;}
if(m%2==0)
{ z=m;
for(i=m;i<=n;i+=2)
x+=(i*i);
for(i=z+1;i<=n;i+=2)
y+=(i*i*i);
printf("%ld-%ld=%ld\n",x,y,abs(x-y));}
else{
z=m;
for(i=m;i<=n;i+=2)
x+=(i*i*i);
for(i=z+1;i<=n;i+=2)
y+=(i*i);
printf("%ld-%ld=%ld\n",y,x,abs(x-y));}
x=0;y=0;
}
} 展开
给定一段连续的整数,求出他们中所有偶数的平方和与所有奇数的立方和相减后的结果,所得到的结果取绝对值。
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
对于每组输入数据,输出一行,x-y=z,x表示该段连续的整数中所有偶数的平方和,y表示该段连续的整数中所有奇数的立方和,z表示x和y的差的绝对值。你可以认为32位整数足以保存结果。
例如输入:
1 3
2 5
2 4
得到:
Case 1:
4-28=24
Case 2:
20-152=132
Case 3:
20-27=7
以下是我编写的程序,在VC6.0上能成功编译和运行,而且答案正确。
但是提交给学校OJ后,系统给我的评价是Wrong Answer,但我自己检查不出错在哪里,
求高手帮忙啊!
#include<stdio.h>
#include <math.h>
int main()
{
long m,n,p,q,x=0,y=0,z,i;
while(EOF!=scanf("%d%d",&m,&n))
{
if(m==n){continue;}
else{
p=m;q=n;}
if(m>n){m=q;n=p;}
else{m=p;n=q;}
if(m%2==0)
{ z=m;
for(i=m;i<=n;i+=2)
x+=(i*i);
for(i=z+1;i<=n;i+=2)
y+=(i*i*i);
printf("%ld-%ld=%ld\n",x,y,abs(x-y));}
else{
z=m;
for(i=m;i<=n;i+=2)
x+=(i*i*i);
for(i=z+1;i<=n;i+=2)
y+=(i*i);
printf("%ld-%ld=%ld\n",y,x,abs(x-y));}
x=0;y=0;
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询