1.調(diào)用函數(shù)rwdata(),從IN.dat文件中讀取10組數(shù)據(jù)(m和k值),并嵌套調(diào)用primenum函數(shù)分別得出array[]數(shù)組。請(qǐng)編寫(xiě)函數(shù)primenum(int m,int k,int array[]),該函數(shù)的功能是:將緊靠m的k個(gè)素?cái)?shù)存入數(shù)組array并在屏幕上顯示。最后把結(jié)果輸出到文件OUT.dat中。
例如,若輸入3 9,則應(yīng)輸出5 7 11 13 17 19 23 29 31。
注意:部分程序已經(jīng)給出。請(qǐng)勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)rwdata()的內(nèi)容。
【答案】
void primenum(int m, int k, int array[])
{ int value = m+1;
int half, n = 0, i;
while(1)
{ half = value/2;
for (i=2; i<=half; i++)
if (value%i == 0)
break;
if (i > half)
{ array[n] = value;
n++;
}
if (n >= k)
break;
value++;
}
}
2.在文件IN.dat中有200個(gè)正整數(shù),且每個(gè)數(shù)均在1000~9999之間。函數(shù)RData()讀取這200個(gè)數(shù)存放到數(shù)組original中。請(qǐng)編寫(xiě)函數(shù)numAscend(),其功能是:要求按每個(gè)數(shù)的后3位的大小進(jìn)行升序排列,然后取出滿足此條件的前10個(gè)數(shù)依次存入數(shù)組result中,如果后3位的數(shù)值相等,則按原先的數(shù)值進(jìn)行降序排列。最后調(diào)用函數(shù)WData(),把結(jié)果result輸出到文件OUT.dat中。
例如,處理前:6012 5099 9012 7025 8088
處理后:9012 6012 7025 8088 5099
【答案】
void numascend()
{ int i, j, data;
for (i=0; i<199; i++)
for (j=i+1; j<200; j++)
{ if (original[i]%1000 > original[j]%1000)
{ data = original[i];
original[i] = original[j];
original[j] = data;
}
else if (original[i]%1000 == original[j]%1000)
{ if (original[i] < original[j])
{ data = original[i];
original[i] = original[j];
original[j] = data;
}
}
}
for (i=0; i<10; i++)
result[i] = original[i];
}
3.已知文件IN.dat中存有100個(gè)產(chǎn)品銷(xiāo)售記錄,每個(gè)產(chǎn)品銷(xiāo)售記錄由產(chǎn)品代碼code(字符型4位)、產(chǎn)品名稱(chēng)name(字符型10位)、單價(jià)uprice(整型)、數(shù)量amount(整型)、金額sum(長(zhǎng)整型)5部分組成。其中:金額=單價(jià)×數(shù)量。函數(shù)RData()讀取這100個(gè)銷(xiāo)售記錄并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編寫(xiě)函數(shù)DescSort(),其功能要求:按產(chǎn)品代碼從大到小進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從大到小進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WData(),把結(jié)果輸出到文件OUT.dat中。
【答案】
void DescSort()
{ int i, j;
PRO temp;
for (i=0; i<99; i++)
for (j=i+1; j<100; j++)
if (strcmp(sell[i].code, sell[j].code) < 0)
{ temp = sell[i];
sell[i] = sell[j];
sell[j] = temp;
}
else if (strcmp(sell[i].code, sell[j].code) == 0)
{ if (sell[i].sum < sell[j].sum)
{ temp = sell[i];
sell[i] = sell[j];
sell[j] = temp;
}
}
}
相關(guān)推薦:2011計(jì)算機(jī)等級(jí)三級(jí)數(shù)據(jù)庫(kù)考前實(shí)訓(xùn)練習(xí)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |