70.函數(shù)ReadDat()實現(xiàn)從文件IN.dat中讀取1000個十進制整數(shù)到數(shù)組xx中。編寫函數(shù)Compute(),其功能是:分別計算出xx數(shù)組中奇數(shù)的個數(shù)odd、奇數(shù)的平均值ave1、偶數(shù)的個數(shù)even、偶數(shù)的平均值ave2,以及所有奇數(shù)的方差totfc的值。調(diào)用函數(shù)WriteDat(),把結(jié)果輸出到OUT.dat文件中。計算方差的公式如下:
其中:N為奇數(shù)的個數(shù),xx[i]為奇數(shù),ave1為奇數(shù)的平均值。
原始數(shù)據(jù)文件存放的格式是:每行存放10個數(shù)(每個數(shù)均大于0且小于等于2000),并用逗號隔開。
【答案】
void Compute(void)
{ int i, yy[MAX];
for (i=0; i<1000; i++)
if (xx[i]%2)
{ odd++;
ave1 += xx[i];
yy[odd-1] = xx[i];
}
else
{ even++;
ave2 += xx[i];
}
ave1 /= odd;
ave2 /= even;
for (i=0; i
totfc += (yy[i]-ave1)*(yy[i]-ave1)/odd;
}
71.請補充完整程序,使得程序能實現(xiàn)以下功能:
從文件IN.dat中讀取200個整數(shù)至數(shù)組number中,求出最大數(shù)max及最大數(shù)的個數(shù)cnt和數(shù)組number中能被3整除或能被7整除的算術(shù)平均值ave(保留2位小數(shù))。把結(jié)果max、cnt、ave輸出到OUT.dat文件中。
【答案】
max = number[0];
for (i=1, k=0; i
{ if (number[i] > max)
max = number[i];
if (number[i]%3==0 || number[i]%7==0)
{ j += number[i];
k++;
}
}
for (i=0, cnt=0; i
if (number[i] == max)
cnt++;
ave = (float)(j*100/k)/100;
72.函數(shù)RData()實現(xiàn)從文件IN.dat中讀取一篇英文文章,存入字符串數(shù)組str中,請編寫函數(shù)encryptChar(),其功能是:按給定的替代關(guān)系對數(shù)組str中的所有字符進行替代后,仍存入數(shù)組str的對應(yīng)位置上。最后調(diào)用函數(shù)WData(),把結(jié)果str輸出到OUT.dat文件中。
替代關(guān)系:f(p)=p*11 mod 256(p是數(shù)組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果原字符是大寫字母或計算后f(p)值小于等于32,則該字符不變,否則將f(p)所對應(yīng)的字符進行替代。
原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符。
【答案】
void encryptChar()
{ int i;
char *pf;
for (i=0; i
{ pf = str[i];
while (*pf != 0)
{ if ((*pf>='A' && *pf<='Z') || *pf*11%256<=32)
{ pf++;
continue;
}
*pf = *pf*11%256;
pf++;
}
}
}
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |