查看匯總:2014計算機三級《數(shù)據(jù)庫》上機例題精講匯總
【考點分析】 本題考查對4位整數(shù)的排序?疾榈闹R點主要包括:數(shù)組元素的排序算法,if判斷語句和邏輯表達式,以及求余算術運算。
【解題思路】 此題屬于4位數(shù)排序問題。本題需主要解決3個問題:問題1如何取4位數(shù)的后3位進行比較;問題2如何按照題目要求的條件(按照每個數(shù)的后3位的大小進行降序排列,如果后3位相等,則按照原始4位數(shù)的大小進行升序排列)排序;問題3如何將排完序的前10個數(shù)存到數(shù)組bb中去。
本題的解題思路為:使用雙循環(huán)對數(shù)組按條件進行排序,然后將排完序的前10個數(shù)存到數(shù)組bb中。對于問題1可以通過算術運算的取余運算實現(xiàn)(aa[i]%1000);問題2通過包含if判斷語句的起泡排序法就可以實現(xiàn)。
【參考答案】
void jsSort()
{ int i,j; /*定義循環(huán)控制變量*/
int temp; /*定義數(shù)據(jù)交換時的暫存變量*/
for(i=0;i<199;i++) /*用選擇法對數(shù)組進行排序*/
for(j=i+1;j<200;j++)
{
if(aa[i]%1000 { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } else if(aa[i]%1000==aa[j]%1000) /*如果后3位數(shù)相等*/ if(aa[i]>aa[j]) /*則要按原4位數(shù)的值進行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*將排序后的前10個數(shù)存入數(shù)組b中*/ bb[i]=aa[i]; } 【易錯提示】 取4位數(shù)后三位的算法,if判斷語句中邏輯表達式的比較運算符。 相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |