程序test.c的功能是:在三位整數(shù)(100至999)中尋找符合下面條件的整數(shù),并依次從小到大存入數(shù)組b[]中。條件如下:某數(shù)既是完全平方數(shù),又有兩位數(shù)字相同,例如144、676等。
請考生編制函數(shù)intjsValue(intbb[])實現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)通過所編制的函數(shù)返回。最后調用函數(shù)writeDat()把結果輸出到文件0ut.dat中。

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

答案及解析
【審題關鍵句】完全平方根,有兩個相同數(shù)。
【解題思路】
①首先,本題要定義多個變量,包括一個循環(huán)變量k:一個用來保存k平方的變量n;一個數(shù)組下標變量cnt并賦初值為0:存放三位數(shù)分解之后各位數(shù)的變量a(百位)、b(十位)、C(個位)。
②通過for循環(huán)篩選滿足條件的數(shù)。大致分4步設定篩選條件,第一步設定判斷條件,循環(huán)變量的初值從10開始,因為從10開始的數(shù),其平方數(shù)最少也是3位數(shù),循環(huán)的終止條件此處先留空,在后面的循環(huán)體中進行設定,每執(zhí)行一次循環(huán),變量k的值加1;第二步指定變量n的值等于k的平方,判斷變量n的值如果小于100則進入下一次循環(huán),如果n值大于999則退出整個for循環(huán),這表示只有n值在100和999(包含)之間才執(zhí)行條件表達式后面的語句;第3步是分解滿足條件的三位數(shù),得到每位數(shù)上的數(shù)字,然后通過if條件語句判斷三個數(shù)中是否有兩個數(shù)相等,即可以通過表達式“(a-b)+(a-c)+(b-c)==0”進行判斷;第四步將滿足條件的數(shù)輸出,并把滿足條件的三位數(shù)n賦給數(shù)組元素bb[cnt],同時數(shù)組下標變量cnt加1。
③返回滿足條件的三位數(shù)的個數(shù)cnt。
【參考答案】
