首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

写了一个“求1到100之间的奇数之和与奇数个数,大家给看上写的对不对”

2012-08-08 
写了一个“求1到100之间的奇数之和与奇数个数,大家给看下写的对不对”自己试着写了个 程序 ,麻烦大家给看下

写了一个“求1到100之间的奇数之和与奇数个数,大家给看下写的对不对”
自己试着写了个 程序 ,麻烦大家给看下 这么写对不对?给指导一下谢谢!

编译器 vc++ 6.0  


# include <stdio.h>

int main(void)
{
int i;
int sum = 0;
int num = 0;//num = number 个数

for (i=1; i<=100; ++i)
{
if (i%2 != 0)
{
sum = sum +i;
num = num +1;
}

}
printf("sum = %d\n", sum);
printf("num = %d\n", num);
return 0;
}


[解决办法]
没有问题。
[解决办法]
你跑了不就知道啦。为判定你程序的正确性,你可以前面写个 #define NUM 100,然后你可以改变NUM的值,例如4,5,6等,算一下,看与你程序跑出来的结果是否一致就行啦。
[解决办法]
没有问题 不过个人觉得定义变量是最好都赋初值
[解决办法]
#include <stdio.h>

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

for(i = 1; i <= 99; i+=2){
sum += i;
num++;
}

printf("%d %d\n", sum, num);

printf("%d\n", (1 + 99) * num / 2);
return 0;
}
也可以“加速”一下程序,比如既然是奇数,就没必要自增1了,直接自增2。或者(100 - 1 + 1) / 2直接算出奇数个数。
另外,求和满足“梯形面积计算公式”。
[解决办法]
LZ程序没有问题。
[解决办法]

探讨

#include <stdio.h>

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

for(i = 1; i <= 99; i+=2){
sum += i;
num++;
}

printf("%d %d\……

[解决办法]
两个等差数列呢,直接求和就行了,不用循环的

热点排行