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