河岸柳 发表于 2021-9-15 19:09:53

新手求助

求助:怎么让两次的运算结果不要加在一起?

例如;输入1 3
            2 5

错误输出:4 28
                24 180

正确输出:4 28
               20 152

Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。

Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。

Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。

我的代码如下
#include<stdio.h>

int main()
{
        int m,n,x=0,y=0,i,sum1,sum2;
       
        while(scanf("%d %d",&m,&n)!=EOF)
        {
                for(i=m;i<=n;i++)
                {
                        if(i%2==0)
                        {
                                sum1=i*i;
                                x=x+sum1;       
                        }
                       
                        else if (i%2!=0)
                        {
                                sum2=i*i*i;
                                y=y+sum2;       
                        }
                               
                }
                printf("%d %d\n",x,y);
               
    }
                return 0;
        }

wp231957 发表于 2021-9-15 19:09:54

每一次循环时,对x   y 进行清零
页: [1]
查看完整版本: 新手求助