第二个程序被你的输出框挡住了,看不到代码,重新贴一下。
for(i = 1; i <= n; i++) 和 for(t = 1; t <= n; t+=2) 循环里,两个循环因子 i 和 t 每次变化的步长不一样,i 每次自增 1, t 每次自增 2,假如 n = 3, i 需循环三次,t 只需循环 1 次就结束了。按题目里,如果想计算前三项的和,i 那里是满足要求的, t 那里只完成了 1 + 1 / 3 就结束了。
你把题目理解错了,题目求的是奇数分之一前n项和,你在判断中的t<=n是循环结束的条件,即当t>第n项时,sum中应该是循环了n次,表示有n项值相加,而你每次循环给t加上2,t在达到t>n时,sum相加的项永远只有一半,达不到n项。