A-A+

使用VC++6.0打开考生文件夹下的源程序文件 2.cpp。请完成函数fun(intx) 该

2022-08-05 23:06:55 问答库 阅读 173 次

问题详情

使用VC++6.0打开考生文件夹下的源程序文件 2.cpp。请完成函数fun(intx),该函数的功能是将X的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。 例如x=6,6的二进制数为110,则输出到屏幕的数为110。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include(iostream) include(fstream) include(cmath) usingnamespacestd; voidWriteFile(char*str) { ofstreamout1; out1.open("2.txt",ios—base::binary|ios_base::app); for(inti=0;str[i]!=0;i++) out1.put(str[i]); out1.close; } voidfun(intx) { } voidClearFile { ofstreamout1; out1.open("2.txt"); out1.close; } intmain { ClearFile; fun(13); return0; }请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:
charstr[32];
inti;
for(i=30;i>=0;i--)//计算二进制
{
if(x%2)str[i]='1';//求余,如果余不为零字符串
str第i位为1
elsestr[i]='0';//否则为0
x$amp;>amp;$gt;=1;
if(!x)break;
}
str[31]='\0';//串加尾符
cout$amp;writeFile(&str[i]);
【解析】本题要求定义存放二进制的字符串str。利用for循环对十进制数字x进行取余运算,直到余数为0结束。如果取余结果为0,则二进制字符串这个字符位的值为0,否则为1。调用WriteFile,将运算结果存入文件。

考点:源程序,文件夹