这道C语言题我程序错在哪里,为什么结果输出不正确?

这道C语言题我程序错在哪里,为什么结果输出不正确?题目是模拟考试软件上做的

修改后的C语言程序:

#include <stdio.h>
 
void PRINT(double s)
{
FILE *out;
printf("s=%.2f\n", s);
if((out=fopen("result.dat", "w+")) != NULL)
{
fprintf(out, "s=%.2fs", s);
fclose(out);
}
}

void main()
{
   int i; /* ä¿®æ”¹å¤„1 */
   double s = 0; /* ä¿®æ”¹å¤„2 */
   double t;
   for(i=1; i<1e5; i++)
   {
t = 1.0 / i; /* ä¿®æ”¹å¤„3 */
s = s + t;
   }
   printf("%.2f", s);
}


运行结果:

12.09追问

前面修改我可以理解,为什么修改3是1.0/i,而不是1/i?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-11
第二个循环j一开始就已经大于i了,就结束了呗追问

大神哪里有j,我程序里没有j😓

第2个回答  2017-06-11
上源码
~
~
~
~
~
~
相似回答