杭电(存一寸光阴,换一个世纪)

开始的错误答案,看了一个小时才发现哪里错了我也是醉了。(请注意循环后要清0,上了不止一次当了)

#include<stdio.h>
#include<math.h>
int main()
{
int n,m,i,j,sum=0,num=0;
while(scanf("%d %d",&n,&m)!=EOF)
{
if(n<m)
{
for(i=n;i<=m;i++)
{
if(i%2==0)
{
sum+=i*i;
}
else
{
num+=i*i*i;
}
}
printf("%d %d\n",sum,num);
}
else
{
for(i=m;i<=n;i++)
{
if(i%2==0)
{
sum+=i*i;
}
else
{
num+=i*i*i;
}
}
printf("%d %d\n",sum,num);
}
}
}

 

正解

#include<stdio.h>
#include<math.h>
int main()
{
int n,m,i,j,sum=0,num=0;
while(scanf("%d %d",&n,&m)!=EOF)
{
sum=0,num=0;
if(n<m)
{
for(i=n;i<=m;i++)
{
if(i%2==0)
{
sum+=i*i;
}
else
{
num+=i*i*i;
}
}
printf("%d %d\n",sum,num);
}
else
{
for(i=m;i<=n;i++)
{
if(i%2==0)
{
sum+=i*i;
}
else
{
num+=i*i*i;
}
}
printf("%d %d\n",sum,num);
}
}
}

posted on 2015-04-22 19:17  Randy77  阅读(140)  评论(0编辑  收藏  举报

导航