这个题怎么才能出运行结果啊?

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:48:58
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
void writeinfile(int n)
{
fstream myfile;
myfile.open("f.txt",ios::out);
myfile<<n<<endl;
myfile.close();
}
void main()
{int m,n=0;
/**********Program**********/

for (m = 1; m <= 100 && n < 200; m += 2)
n += m;

/********** End **********/
writeinfile(n);
}

说一下我的想法,以供参考。
for 循环中每次循环只执行了一句代码:n += m;
而没执行writeinfile(n);

而writeinfile(n);
是在for循环语句全执行完了才执行的,并且只执行了一次。

文件应该只有一个结果。

正确的代码:
void main()
{
int m,n=0;

/**********Program**********/
for (m = 1; m <= 100 && n < 200; m += 2)
{
n += m;
writeinfile(n);
}
/********** End **********/
}

结果在f.txt里面,屏幕上没输出
如果要输出到屏幕,在writeinfile(n); 前加上
printf("%d",n);