二、簡單應(yīng)用題
請(qǐng)編寫一個(gè)函數(shù)sortnum(intnum),參數(shù)num是一個(gè)三位的整數(shù),該函數(shù)將num的百位、十位和個(gè)位的數(shù)字進(jìn)行重排,并返回由上述的三個(gè)數(shù)字組成的最大的三位數(shù)。
注意:部分源程序已存在文件kt13_2.cpp中。
如輸入456后,輸出結(jié)果如下:
654
請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的內(nèi)容,僅在函數(shù)sortnum的花括號(hào)中填寫若干語句。
文件kt13_2.cpp的內(nèi)容如下:
#include<iostream.h>
intsortnum(intnum)
{
}
voidmain()
{ intnum;
intresult=0;
cout<<"請(qǐng)輸入一個(gè)三位數(shù)";
cin>>num;
cout<<sortnum(num)<<endl; }
【參考答案】
int number[3],i,j,temp;
for(i=0;i<3;i++)
{ number[i]=num%10;
num=num/10; }
for (i=0;i<2;i++)
{ for (j=i+1;j<3;j++)
if (number[j]<=number[i])
{ temp=number[j];
number[j]=number[i];
number[i]=temp; } }
num=number[2]*100+number[1]*10+number[0];
return num;
【試題解析】
本題主要考查對(duì)基本控制結(jié)構(gòu)和數(shù)組的訪問,以及根據(jù)實(shí)際需要建立模型,對(duì)數(shù)字進(jìn)行排序的能力,答案中采用的是冒泡排序法。請(qǐng)注意程序中數(shù)組下標(biāo)的范圍和兩層for循環(huán)嵌套中循環(huán)變量的取值情況。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C++模擬試題15套(上機(jī))北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |