2015年計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫(kù)技術(shù)》上機(jī)考試模擬試題

字號(hào):

程序test.c的功能是:在三位整數(shù)(100至999)中尋找符合下面條件的整數(shù),并依次從小到大存入數(shù)組b[]中。條件如下:某數(shù)既是完全平方數(shù),又有兩位數(shù)字相同,例如144、676等。
    請(qǐng)考生編制函數(shù)intjsValue(intbb[])實(shí)現(xiàn)此功能,滿足該條件的整數(shù)的個(gè)數(shù)通過所編制的函數(shù)返回。最后調(diào)用函數(shù)writeDat()把結(jié)果輸出到文件0ut.dat中。
    
    答案及解析
    【審題關(guān)鍵句】完全平方根,有兩個(gè)相同數(shù)。
    【解題思路】
    ①首先,本題要定義多個(gè)變量,包括一個(gè)循環(huán)變量k:一個(gè)用來保存k平方的變量n;一個(gè)數(shù)組下標(biāo)變量cnt并賦初值為0:存放三位數(shù)分解之后各位數(shù)的變量a(百位)、b(十位)、C(個(gè)位)。
    ②通過for循環(huán)篩選滿足條件的數(shù)。大致分4步設(shè)定篩選條件,第一步設(shè)定判斷條件,循環(huán)變量的初值從10開始,因?yàn)閺?0開始的數(shù),其平方數(shù)最少也是3位數(shù),循環(huán)的終止條件此處先留空,在后面的循環(huán)體中進(jìn)行設(shè)定,每執(zhí)行一次循環(huán),變量k的值加1;第二步指定變量n的值等于k的平方,判斷變量n的值如果小于100則進(jìn)入下一次循環(huán),如果n值大于999則退出整個(gè)for循環(huán),這表示只有n值在100和999(包含)之間才執(zhí)行條件表達(dá)式后面的語(yǔ)句;第3步是分解滿足條件的三位數(shù),得到每位數(shù)上的數(shù)字,然后通過if條件語(yǔ)句判斷三個(gè)數(shù)中是否有兩個(gè)數(shù)相等,即可以通過表達(dá)式“(a-b)+(a-c)+(b-c)==0”進(jìn)行判斷;第四步將滿足條件的數(shù)輸出,并把滿足條件的三位數(shù)n賦給數(shù)組元素bb[cnt],同時(shí)數(shù)組下標(biāo)變量cnt加1。
    ③返回滿足條件的三位數(shù)的個(gè)數(shù)cnt。
    【參考答案】