67.函數Rdata()實現從文件IN.dat中讀取一篇英文文章存入字符串數組string中,請編寫函數SortCharA(),其功能是:以行為單位對字符按從小到大的順序進行排序,排序后的結果仍按行重新存入字符串數組string中。最后調用函數Wdata(),把結果string輸出到OUT.dat文件中。
例如,原文:dAe,BfC.
CcbbAA
結果:,.ABCdef
AACbbc
原始數據文件存放的格式是:每行的寬度均小于80個字符(含標點符號和空格)。
【答案】
void SortCharA(void)
{ int i, j, k, strl;
char ch;
for (i=0; i { strl = strlen(string[i]); for (j=0; j for (k=j+1; k if (string[i][j] > string[i][k]) { ch = string[i][j]; string[i][j] = string[i][k]; string[i][k] = ch; } } } 68.已知數據文件IN.dat中存有200個四位數,并已調用讀函數Rdata()把這些數存入數組a中,請編寫函數NumCal(),其功能是:把一個四位數的千位數字上的值加上個位數字上的值恰好等于百位數字上的值加上十位數字上的值,并且原四位數是奇數,則統(tǒng)計出滿足此條件的個數count并把這些四位數按從小到大的順序存入數組b中。最后調用寫函數Wdata(),把結果count以及數組b中符合條件的四位數輸出到OUT.dat文件中。 【答案】 void NumCal() { int i, thou, hun, ten, data, j; for (i=0; i { thou = a[i]/1000; hun = a[i]%1000/100; ten = a[i]%100/10; data = a[i]%10; if ((thou+data == hun+ten) && a[i]%2==1) { b[count] = a[i]; count++; } } for (i=0; i for (j=i+1; j if (b[i] > b[j]) { data = b[i]; b[i] = b[j]; b[j] = data; } } 69.已知數據文件IN.dat中存有300個四位數,并已調用讀函數Rdata()把這些數存入數組a中,請編寫函數diffVal(),其功能是:求出個位數上的數減千位數上的數減百位數上的數減十位數上的數大于0的個數count,再求出所有滿足此條件的四位數的平均值Ave1,以及不滿足此條件的四位數平均值Ave2。最后調用寫函數Wdata(),把結果輸出到OUT.dat文件中。 例如,1239,9-1-2-3>0,則該數滿足條件計算平均值Ave1,且個數count=count+1。8129,9-8-1-2<0,則該數不滿足條件計算平均值Ave2。 【答案】 void diffVal() { int i, thou, hun, ten, data, n = 0; for (i=0; i<300; i++) { thou = a[i]/1000; hun = a[i]%1000/100; ten = a[i]%100/10; data = a[i]%10; if (data-thou-hun-ten > 0) { count++; Ave1 += a[i]; } else { n++; Ave2 += a[i]; } } Ave1 /= count; Ave2 /= n; }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |