求0-100之间全部偶数之和的程序!

GERY2003 2005-03-16 05:20:59
刚学C语言,看到课本上的练习,不会做
求各位大侠帮忙啦
...全文
1658 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglianhui 2005-03-17
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,sum=0;
for(i=0;i<=100;)
{
sum=sum+i;
i=i+2;
}
printf("%d",sum);
system("pause");
}
shuitian 2005-03-17
  • 打赏
  • 举报
回复
int main()
{
int i,result;
result = 0;
for(i = 0; i < 101; i += 2 )
result += i;
printf("\nresult = %d",result);
getch();
return(1);
}
pomelowu 2005-03-17
  • 打赏
  • 举报
回复
呵呵~~小学的东西实在是既不起来了。上次谁跟我说了个什么归一法解应用题,我看了半天,最后觉得不用方程根本不知道如何下手……
asddfg 2005-03-17
  • 打赏
  • 举报
回复
(5050 + 50)/2 /* 5050 是高斯算出来的,不用就是不给他面子 */
GERY2003 2005-03-17
  • 打赏
  • 举报
回复
还是这样好一些,刚才试了一下
#include <stdio.h>
void main()
{
int i;int sum=0;
for(i=0;i<=100;i++)
{
if(i%2==0)
sum+=i;
}
printf("%d \n",sum);
}
pcboyxhy 2005-03-17
  • 打赏
  • 举报
回复
pomelowu(羽战士)

这个的确是小学奥数的东西

那个时候有很多东西的
包括:
排列组合,概率,数学归纳法,等差数列,等比数列
一次线性方程组,牛吃草问题(不知道属于什么)
同余,方阵问题,逻辑推理,标点法与流程图,
进制转换,枚举法,分治法,贪心法,
......................


都快10年没接触了,
只记得些思想了,
具体的东西忘记的差不多了,
这些其实对学习计算机大大的有帮助啊
yzx1983 2005-03-17
  • 打赏
  • 举报
回复
printf("%d\n",2550);
这是一个常数了,不用再循环。
pomelowu 2005-03-17
  • 打赏
  • 举报
回复
1楼确定是小学课本里的东西吗?
sycnick 2005-03-17
  • 打赏
  • 举报
回复
for(int sum=0,i=0;i<=100;i++,sum++);
sum = sum/2+50;
sycnick 2005-03-17
  • 打赏
  • 举报
回复
0加到100,然后除以2..........
xuxinmmy 2005-03-16
  • 打赏
  • 举报
回复
不会吧,一个for循环就解决啦

for(int sum=0,i=0;i<=100;i+=2) sum+=i;
xiaosilent 2005-03-16
  • 打赏
  • 举报
回复
我忘记出生的时候护士怎么说的了
黄有才 2005-03-16
  • 打赏
  • 举报
回复
#include"stdio.h"
void main(){
int i,sum=0;
for (i=0;i<100;){
sum+=i;
i=i+2;
}
printf("%d",sum);
}
L_BOY 2005-03-16
  • 打赏
  • 举报
回复
#include <iostream.h>

void main()
{
int result = 0;
for (int i=0;i<=100;i+=2)
result += i;
cout <<result<<endl;
}
inlin 2005-03-16
  • 打赏
  • 举报
回复
//#include "stdafx.h"
#include "iostream.h"

int main(int argc, char* argv[])
{ int i,sum=0,n;
cout<<"input n:";
cin>>n;
for(i=0;i<=n;i++)
{
if(i%2==0)
sum+=i;
}
cout<<sum<<endl;
return 0;
}
//任何数都可以!但要在int范围内!如果要更大用其他的如double类型
inlin 2005-03-16
  • 打赏
  • 举报
回复
//#include "stdafx.h"
#include "iostream.h"

int main(int argc, char* argv[])
{ int i,sum=0;
for(i=0;i<=100;i++)
{
if(i%2==0)
sum+=i;
}
cout<<sum<<endl;
return 0;
}
很简单!
pcboyxhy 2005-03-16
  • 打赏
  • 举报
回复
是吗
你算 10000000000*2 (long long) 速度快

还是算
long long sum = 0;
for(int i=0; i<10000000000; ++i)
sum += 2;
快。
alaiyeshi 2005-03-16
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <conio.h>

int main (void)
{
int sum = 0;
int i = 0;
int num = 0;

for (i = 0; i < 101; )
{
sum += i;
i=i+2;
}

printf ("sum = %d", sum);

getch();
return 0;
}
加法的速度要比乘法快很多
t0h 2005-03-16
  • 打赏
  • 举报
回复
通项2n n = 0 -- 50

int total = (0 + 2n ) * ( n + 1 ) / 2;

= 50 * 51;
cyj2008 2005-03-16
  • 打赏
  • 举报
回复
错了 ,纠正为
int GetEvenSum(int first_n,int last_n)
{

first_n = (first_n%2 == 0)? first_n:first_n+1;
last_n = (last_n%2 == 0)?last_n: last_n-1;
if(last_n >= first_n)
{
return (first_n + last_n)*((last_n - first_n)/2 + 1)/2;
}
return 0x00;
}

加载更多回复(6)

69,368

社区成员

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

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