查看匯總:2014計(jì)算機(jī)三級(jí)《數(shù)據(jù)庫(kù)》上機(jī)例題精講匯總
【考點(diǎn)分析】 本題考查的知識(shí)點(diǎn)主要包括:結(jié)構(gòu)體成員的訪問(wèn),元素的排序, if判斷結(jié)構(gòu)和邏輯表達(dá)式。
【解題思路】此題屬于結(jié)構(gòu)體的篩選排序問(wèn)題。分析題干要求,可以歸納出3個(gè)關(guān)鍵點(diǎn):關(guān)鍵點(diǎn)1通過(guò)條件"每組數(shù)據(jù)中第2個(gè)數(shù)大于第1個(gè)數(shù)和第3個(gè)數(shù)之和"對(duì)每組數(shù)據(jù)進(jìn)行判斷;關(guān)鍵點(diǎn)2保存滿足條件的數(shù)到新數(shù)組中并統(tǒng)計(jì)其數(shù)量;關(guān)鍵點(diǎn)3對(duì)新數(shù)組中的數(shù)再按照第2個(gè)數(shù)和第3個(gè)數(shù)之和的大小進(jìn)行降序排列;關(guān)鍵點(diǎn)4函數(shù)的返回值為之前統(tǒng)計(jì)的滿足的數(shù)據(jù)的組數(shù)。
接著分析具體的解決方法,首先通過(guò)if判斷結(jié)構(gòu)和邏輯表達(dá)式實(shí)現(xiàn)對(duì)所有結(jié)構(gòu)的篩選,保存并統(tǒng)計(jì)個(gè)數(shù),然后通過(guò)起泡法完成排序,最后函數(shù)返回組數(shù)。
【參考答案】
int jsSort()
{ int i,j; /*定義循環(huán)控制變量*/
int cnt=0; /*定義計(jì)數(shù)器變量*/
Data temp; /*定義數(shù)據(jù)交換時(shí)的暫存變量,這里是一個(gè)Data類型的結(jié)構(gòu)體變量*/
for(i=0;i<200;i++)
if(aa[i].x2>aa[i].x1+aa[i].x3) /*如果第二個(gè)數(shù)大于第一個(gè)數(shù)加第三個(gè)數(shù)之和*/
{
bb[cnt]=aa[i]; /*則把該組數(shù)據(jù)存入結(jié)構(gòu)數(shù)組bb中*/
cnt++; /*同時(shí)統(tǒng)計(jì)滿足條件的數(shù)據(jù)的個(gè)數(shù)*/
}
for(i=0;i for(j=i+1;j if(bb[i].x2+bb[i].x3 { temp=bb[i]; bb[i]=bb[j]; bb[j]=temp; } return cnt; /*返回滿足條件數(shù)據(jù)的組數(shù)*/ } 【易錯(cuò)提示】 第i個(gè)人是否報(bào)數(shù)到m;用表達(dá)式(S1+m-1)% i判斷。 相關(guān)推薦: 2014年計(jì)算機(jī)等級(jí)考試過(guò)關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |