问答题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是判定x的所有的约数,并且在函数中调用写函数WriteFile0将结果输出到modi2.txt文件中。 例如:x=10的约数为1,2,5,10。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构. #include #include #include using namespace std ; void WriteFile(int c) { ofstream outl ; outl.open(”modi2.txt”,ios— base::binary I los—base::app); outl<
【正确答案】正确答案:for(int i=1;i<=x;i++) { if(x%i==0) //如果x被i整除,那么i为x的约数 { WriteFile(i); //将约数i存入文件 } }
【答案解析】解析:(1)本题中函数的功能是求出约数。x的约数就是能整除其的所有整数。可以从1开始到x,计算取余。如果整除该数为x的约数。 (2)从已给部分源程序的main主函数开始入手,核心函数void fun(int x)中的X参数为要计算约数的整数。 解题思路 (1)由1到x,循环判断其中是否有x的约数。 (2)如果xX被i整除,那么i为x的约数。 (3)最后调用WriteFile函数,将约数i存入文件。