c语言一道题 怎么做

zjqcsh 2014-09-03 09:21:53

六、平方和与立方和

Time Limit:1000MS Memory Limit:65536K
Total Submit:85 Accepted:44

Description

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

Input

输入一组数据,该组测试实例包含一行,由两个整数m(开头)和n(结尾)组成 (m <= n) ,m与n之间用空格隔开。

Output

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

Sample Input


1 3
2 5
Sample Output


4 28
20 152
Hint

以上输入输出样例中有两组的测试数据

Source
下面是我做的 不知道哪里错
#include <stdio.h>
int main()
{
int b,c;
scanf("%d %d",&b,&c);
int a[c],i,s=0,d=0;
for(i=b;i<=c;i++)
a[i]=i;
for(i=b;i<=c;i++)
{if[i]%2==0)
s=s+a[i]*a[i];
else
d=d+a[i]*a[i]*a[i];}
printf("%d %d",s,d)
return 0;
}
...全文
442 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zidane_2014 2014-09-08
  • 打赏
  • 举报
回复
参考一下这个:
#include <stdio.h>

int main( )
{
	int first_num, last_num;
	int odd_sum = 0, even_sum = 0;
	scanf( "%d %d", &first_num, &last_num );
	for( int i = first_num; i <= last_num; i++ )
	{
		if( i % 2 == 0)
		{
			even_sum += i * i;
		}
		else
		{
			odd_sum += i * i * i;
		}
	}
	printf( "The sum of even number is : %d\n", even_sum );
	printf( "The sum of odd number is : %d\n", odd_sum );

	return 0;
}
zazyl 2014-09-08
  • 打赏
  • 举报
回复
#include <stdio.h> int main() { int b,c; scanf("%d %d",&b,&c); int a[c],i,s=0,d=0; //没错 for(i=b;i<=c;i++) //这段有些问题你只能用输入的数来确定数组的大小,而不能用来确定他们在数组中的位置 a[i]=i; for(i=b;i<=c;i++) {if[i]%2==0) s=s+a[i]*a[i]; else d=d+a[i]*a[i]*a[i];} printf("%d %d",s,d) return 0; }
tuke2010 2014-09-08
  • 打赏
  • 举报
回复
路过,10分到手
lty369963 2014-09-04
  • 打赏
  • 举报
回复
707wk 2014-09-04
  • 打赏
  • 举报
回复
引用 5 楼 truelance 的回复:
我这段代码有好几个错误你没看出来么? 本来是想改正LZ的一处错误,结果发现这个代码问题很多。1楼已经贴了代码,我就懒得写了。
熊熊大叔 2014-09-04
  • 打赏
  • 举报
回复
引用 4 楼 zxh707wk 的回复:
[quote=引用 2 楼 truelance 的回复:] 编程语言分为编译型和解释型(脚本语言),像c这样的编译型语言基本都不支持int a[c];这样定义的动态太小的数组。 这个题目完全没必要用数组 另外c中,变量必须在函数开头定义。只有到了c++,才允许在函数中间定义变量。
#include <stdio.h>
int main(void)
{
    int b,c;
    int s=0, d=0;
    int i;
    scanf("%d %d",&b,&c);
    for(i=b;i<=c;i++)
    {
        if[i]%2==0)
            s=s+i*i;
        else
            d=d+i*i*i;
    }
    printf("%d %d",s,d)
    return 0;
}
+1,这下不用写代码了[/quote] 我这段代码有好几个错误你没看出来么? 本来是想改正LZ的一处错误,结果发现这个代码问题很多。1楼已经贴了代码,我就懒得写了。
707wk 2014-09-04
  • 打赏
  • 举报
回复
引用 2 楼 truelance 的回复:
编程语言分为编译型和解释型(脚本语言),像c这样的编译型语言基本都不支持int a[c];这样定义的动态太小的数组。 这个题目完全没必要用数组 另外c中,变量必须在函数开头定义。只有到了c++,才允许在函数中间定义变量。
#include <stdio.h>
int main(void)
{
    int b,c;
    int s=0, d=0;
    int i;
    scanf("%d %d",&b,&c);
    for(i=b;i<=c;i++)
    {
        if[i]%2==0)
            s=s+i*i;
        else
            d=d+i*i*i;
    }
    printf("%d %d",s,d)
    return 0;
}
+1,这下不用写代码了
freelywinder 2014-09-04
  • 打赏
  • 举报
回复
#include <stdio.h>
int main()
{
int b,c;
scanf("%d %d",&b,&c);
int a[c],i,s=0,d=0;     //这里定义a[c],表示这个数组有c个元素。这里没错。 
for(i=b;i<=c;i++)       //你这段就有问题,如果我输入2,4.那么你只能从a[2]也就是
                        //数组的第三个值赋值,前面就是空的,后面又溢出了。 
a[i]=i;                 //你只能用输入的数来确定数组的大小,而不能用来确定他们在数组中的位置 
for(i=b;i<=c;i++)
{if[i]%2==0)
s=s+a[i]*a[i];
else
d=d+a[i]*a[i]*a[i];}
printf("%d %d",s,d)     
return 0;
}
具体怎么做你自己想想看,不难的
熊熊大叔 2014-09-03
  • 打赏
  • 举报
回复
#include <stdio.h>
int main(void)
{
     int b,c;
     int s=0, d=0;
     int i;
     scanf("%d %d",&b,&c);
     for(i=b;i<=c;i++)
     {
         if[i]%2==0)
             s=s+i*i;
         else
            d=d+i*i*i;
     }
     printf("%d %d\n",s,d);
     return 0; 
}
熊熊大叔 2014-09-03
  • 打赏
  • 举报
回复
编程语言分为编译型和解释型(脚本语言),像c这样的编译型语言基本都不支持int a[c];这样定义的动态太小的数组。 这个题目完全没必要用数组 另外c中,变量必须在函数开头定义。只有到了c++,才允许在函数中间定义变量。
#include <stdio.h>
int main(void)
{
    int b,c;
    int s=0, d=0;
    int i;
    scanf("%d %d",&b,&c);
    for(i=b;i<=c;i++)
    {
        if[i]%2==0)
            s=s+i*i;
        else
            d=d+i*i*i;
    }
    printf("%d %d",s,d)
    return 0;
}
jwj070524 2014-09-03
  • 打赏
  • 举报
回复

#include <stdio.h>
int main()
{
  int i, j;
  unsigned int sum_even, sum_odd;

  while (1)
  {
    sum_even = sum_odd = 0;
    scanf("%d %d", &i, &j);

    for (; i <= j; ++i) {
      if (0 == i % 2) // even
        sum_even += i * i;
      else
        sum_odd += i * i * i;
    }
    printf("%u %u\n", sum_even, sum_odd);
  }
  
  return 0;
}

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧