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