作者sjgau (sjgau)
看板C_and_CPP
标题Re: [问题] i+1 和 i++ 不是一样吗?
时间Fri Aug 21 09:41:35 2009
建议原 po 从下面这个求总和的程式下手
sum= 1 + 2 + . . . + no= ?
然後,一定要加上 後面验算的程序,
xsum= (上底 + 下底) * (高) / 2
高,就是 项数。
然後,更改
i++
变成
i+1
看看,答案是否会相同?
// file: get-sum.cpp
#include <stdio.h>
#include <process.h>
int main()
{
int no, sum, i;
no= 100;
sum= 0;
for (i=1;i<=no;i++) {
sum+= i;
}
printf("\n\n no= %d, sum= %d\n", no, sum);
system("pause");
// ------------------------------------------
// get real sum of no
double xsum;
xsum= (1.0 + no)*(no - 1.0 + 1.0)/2.0;
printf("\n\n no= %d, xsum= %.3lf\n", no, xsum);
system("pause");
return(0);
}
※ 引述《Euler (http://0rz.tw/bd3Jx )》之铭言:
: http://nopaste.info/79f8614fc1.html
: 这是我写的程式
: for回圈里面
: i+1 和 i++两个结果不一样耶
: 而且我也不懂为什麽i++并不是我要的结果
: 请问我的盲点在哪里呢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.245.110.241
1F:→ sjgau:然後,把 no --> 改成 100万,看看答案会如何?Why? 08/21 12:50
2F:→ sjgau:把 no --> 改成 20亿,除了看答案之外,再看看时间? 08/21 15:49
3F:→ sjgau:把 no 改成 200亿,看看计算时间是否为10倍?Why not? 08/21 15:51