编程计算:1~100之间所有的偶数的和

最好能用几种不同的方法解决!
算出结果是多少!

solution 1

# include <stdio.h>

int main ()
{
int i,sum=0;
for (i=1;i<=100;++i)
{
if (i%2==0)
sum+=i;
}
printf ("%d\n",sum);
return 0;
}

solution 2

# include <stdio.h>

int main ()
{
int i,sum=0;
for (i=2;i<=100;i+=2)
sum+=i;
printf ("%d\n",sum);
return 0;
}

solution 3

# include <stdio.h>

int main ()
{
int i,sum=0;
for (i=0;i<50;i+=2)
{
sum+=i;
sum+=100-i;
}
sum+=50;
printf ("%d\n",sum);
return 0;
}

运行结果是2550.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-04
<1>
main()
{
int i=2,sum=0;
while(i<101)
{sum+=i;
i+=2;}
printf("1~100之间所有的偶数的和是:%d\n",sum);
}

<2>
main()
{
int i,sum=0;
for(i=2;i<=100;i+=2)
sum+=i;
printf("1~100之间所有的偶数的和是:%d\n",sum);
}
第2个回答  2007-05-03
方法1:

#include <stdio.h>

int main()
{
printf("2 + 4 + ... + 98 + 100 = %d", 50* (2 + 100) / 2);
}

方法2:

#include <stdio.h>

int main()
{
int sum = 0;
for(int i = 0; i <= 100; ++i)
if(!(i & 0x1))
sum += i;
printf("2 + 4 + ... + 98 + 100 = %d", sum);
}
第3个回答  2007-05-04
/**用java来写超简单*/
//method one
public class AddSum1
{

public static void main(String args[])
{ int sum=0;
for(int i=1;i<=100;i++)
{
if(i%2==0)
{
sum+=i;
}

}
System.out.println(sum);
}

}
//method two
public class AddSum2
{

public static void main(String args[])
{ int sum=0;
for(int i=0;i<=100;i+=2)
{
sum+=i;

}
System.out.println(sum);
}

}
第4个回答  2007-05-03
#include <iostream>

using namespace std;

int f1() {
int sum = 0;
for ( int i=1; i<=100; ++i ) {
if ( i%2 == 0 ) {
sum += i;
}
}
return sum;
}

int f2() {
int sum = 0;
for ( int i=2; i<=100; i+=2 ) {
sum += i;
}
return sum;
}

int f3( int n ) {
if ( n == 2 ) {
return n;
}
else {
return n + f3( n-2 );
}
}

int f4( int n ) {
return (n+2) * (n/2) / 2;
}

template< int N >
class F5
{
public:
enum { RESULT = N + F5<N-2>::RESULT };
};

template<>
class F5<2>
{
public:
enum { RESULT = 2 };
};

int main()
{
cout << f1() << endl;
cout << f2() << endl;
cout << f3( 100 ) << endl;
cout << f4( 100 ) << endl;
cout << F5<100>::RESULT << endl;

return 0;
}
相似回答