查看匯總:2014計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫》上機(jī)例題精講匯總
【考點(diǎn)分析】 本題考查對(duì)一定范圍內(nèi)整數(shù)的篩選?疾榈闹R(shí)點(diǎn)主要包括:多位整數(shù)的分解算法,完全平方數(shù)判斷方法,if判斷語句和邏輯表達(dá)式。
【解題思路】 此題屬于數(shù)學(xué)類問題。分析題干,本題需注意2個(gè)關(guān)鍵點(diǎn):關(guān)鍵點(diǎn)1判斷該數(shù)是否是完全平方數(shù);關(guān)鍵點(diǎn)2判斷該數(shù)是否有兩位數(shù)數(shù)字相同。
本題的解題思路為:通過循環(huán)控制,依次判斷100至999數(shù)是否滿足關(guān)鍵點(diǎn)1(是否為完全平方數(shù))。如果是,則將該數(shù)分解出各位數(shù)數(shù)字,并判斷是否有兩位數(shù)數(shù)字相同,如果存在,則個(gè)數(shù)加1,并將該數(shù)存入數(shù)組中。
【參考答案】
int jsValue(int bb[])
{
int i,j; /*定義循環(huán)控制變量*/
int cnt=0; /*定義計(jì)數(shù)器變量*/
int a3,a2,a1; /*定義變量存儲(chǔ)三位數(shù)每位的數(shù)字*/
for(i=100;i<=999;i++) /*在該范圍中找符合條件的數(shù)*/
for(j=10;j<=sqrt(i);j++)
if(i==j*j) /*如果該數(shù)是完全平方數(shù)*/
{
a3=i/100; /*求該數(shù)的百位數(shù)字*/
a2=i%100/10; /*求該數(shù)的十位數(shù)字*/
a1=i%10; /*求該數(shù)的個(gè)位數(shù)字*/
if(a3==a2 || a3==a1 || a2==a1) /*有兩位數(shù)字相同*/
{
bb[cnt]=i; /*則把該數(shù)存入數(shù)組bb中*/
cnt++;
} /*統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)*/
}
return cnt; /*返回滿足該條件的整數(shù)的個(gè)數(shù)*/
}
【易錯(cuò)提示】 完全平方數(shù)的判斷方法錯(cuò)誤,分解整數(shù)各個(gè)數(shù)位的方法錯(cuò)誤,if判斷語句中表達(dá)式。
相關(guān)推薦:
2014年計(jì)算機(jī)等級(jí)考試過關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |