點擊查看:2018年9月計算機(jī)二級C++考試考前過關(guān)練習(xí)題匯總
簡單應(yīng)用題
使用VC++6.0打開考生文件夾下的源程序文件
2.cpp。請完成函數(shù)fun(intx),該函數(shù)的功能是將X的值轉(zhuǎn)換成二進(jìn)制數(shù)輸出到屏幕,并且在函數(shù)中調(diào)用寫函數(shù)WriteFile將結(jié)果輸出到2.txt文件中。
例如x=6,6的二進(jìn)制數(shù)為110,則輸出到屏幕的數(shù)為110。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#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--)//計算二進(jìn)制
{
if(x%2)str[i]=’1’;//求余,如果余不為零字符串
str第i位為1
elsestr[i]=’0’;//否則為0
x>>=1;
if(!x)break;
}
str[31]=’\0’;//串加尾符
cout<<&str[i]< writeFile(&str[i]);
【解析】本題要求定義存放二進(jìn)制的字符串str。利用for循環(huán)對十進(jìn)制數(shù)字x進(jìn)行取余運算,直到余數(shù)為0結(jié)束。如果取余結(jié)果為0,則二進(jìn)制字符串這個字符位的值為0,否則為1。調(diào)用WriteFile,將運算結(jié)果存入文件。
相關(guān)推薦:
2018年全國計算機(jī)等級考試復(fù)習(xí)知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |