![]() |
||
|
New Member
加入日期: Jan 2007
文章: 2
|
計概老師出的題目,希望各位大大能夠幫忙解答~感激不盡!!! :
一所附的統計程式(函式庫)請建立自己的統計軟體系統,你所建立的系統至少能構府何以下各要求: 1.輸入方式:使用者可由螢幕詢問狀況下輸入資料,或由使用者選擇由檔案輸入資料(兩樣皆具備) 2.統計函式:至少須包含1mean(平均數)2.median(中位數)3.mode(眾數)4.range(全距) 3.輸出方式:事用者可選擇將計算結果出至螢幕或輸出至檔案(兩樣皆具備) 測試資料如下: 學生編號 月薪 1. 2850 2. 2950 3. 3050 4. 2880 5. 2755 6. 2710 7. 2890 8. 3130 9. 2940 10. 3325 11. 2920 12. 2880 所附的統計程式(函式庫) #include <stdio.h> #include <stdlib.h> #include <math.h> #include <float.h> #include "statlib.h" int main(void) { int listsize, idx; double sm, rnge, amean, mrange, med, ptile, sk, iqrng, mod, s_var, p_var, ssdev, psdev, xsqr, gmean, hmean, rmsqr, kurt, md, sem, cv, tuk, trim, ktile; double *qt, *mnmx, *conf95, *conf99; //double data[] = {2850, 2950, 3050, 2880, 2755, 2710, 2890, 3130, 2940, 3325,2920,2880}; //double data[] = {31,29,26,33,40,28,30,25}; //double data[] = {1, 4, 9, 16, 25, 36, 49, 64, 81}; //double data[] = {60, 72, 64, 67, 70, 68, 71, 68, 73, 59}; double data[] = {1987,1987,1991,1992,1992,1992,1992,1993,1994,1994,1995}; listsize = sizeof(data) / sizeof(*data); ktile = 30.0; /* argument to percentile() */ printf("\n%d data:\n", listsize); for(idx = 0; idx < listsize; idx++) { printf("%.3f ", data[idx]); } sm = sum(data, listsize); mnmx = min_max(data, listsize); rnge = range(data, listsize); amean = a_mean(data, listsize); gmean = g_mean(data, listsize); hmean = h_mean(data, listsize); tuk = tukeys_trimean(data, listsize); trim = trimmed_mean(data, listsize, 20.0); mrange = midrange(data, listsize); med = median(data, listsize); ptile = percentile(data, listsize, ktile); qt = quartiles(data, listsize); iqrng = interquartile_range(data, listsize); mod = mode(data, listsize); s_var = svar(data, listsize); p_var = pvar(data, listsize); rmsqr = rms(data, listsize); psdev = p_stdev(data, listsize); ssdev = s_stdev(data, listsize); cv = coeff_var(data, listsize); md = mean_dev(data, listsize); sem = std_err_mean(data, listsize); sk = skewness(data, listsize); kurt = kurtosis(data, listsize); xsqr = chi_square(data, listsize); conf95 = confidence_95(data, listsize); conf99 = confidence_99(data, listsize); printf("\n\nsum: %.3f\n", sm); printf("min/max: %.3f/%.2f\n", mnmx[0], mnmx[1]); printf("range: %.3f\n", rnge); printf("arithmetic mean: %.3f\n", amean); printf("geometric mean: %.3f\n", gmean); printf("harmonic mean: %.3f\n", hmean); printf("Tukey's trimean: %.3f\n", tuk); printf("trimmed mean(20%%): %.3f\n", trim); printf("midrange: %.3f\n", mrange); printf("median: %.3f\n", med); printf("%.fth percentile: %.3f\n", ktile, ptile); printf("quartiles: %.3f %.3f %.3f\n", qt[0],qt[1],qt[2]); printf("interquartile range: %.3f\n", iqrng); printf("mode: %.3f\n", mod); printf("sample variance: %.3f\n", s_var); printf("population variance: %.3f\n", p_var); printf("root mean square: %.3f\n", rmsqr); printf("population standard deviation: %.3f\n", psdev); printf("sample standard deviation: %.3f\n", ssdev); printf("coefficient of variability: %.3f\n", cv); printf("mean deviation: %.3f\n", md); printf("standard error of the mean: %.3f\n", sem); printf("skewness: %f\n", sk); printf("kurtosis: %f\n", kurt); printf("chi square: %.3f\n", xsqr); printf("95%% confidence interval: %.3f - %.3f\n", conf95[0], conf95[1]); printf("99%% confidence interval: %.3f - %.3f\n", conf99[0], conf99[1]); free(qt); free(mnmx); free(conf95); free(conf99); return 0; } 此文章於 2007-01-14 08:00 PM 被 kelly7732 編輯. |
|||||||
|
|
|
Senior Member
![]() ![]() ![]() 加入日期: Oct 2005 您的住址: 桃園-TW
文章: 1,446
|
這不是寫C嗎?怎麼要請教C++高手?
妳要寫成物件導向嗎?
__________________
My Computer [2003.09]-已送人 CPU:Intel Pentium4 2.6CG M/B:MSI 865PE Neo 2-LS RAM:Transcend DDR400 512MB x 2 (Dual) (Samsung UCCC) Display Card:GeCube ATI X1300XT 256MB HDD:Maxtor 160GB DVD:Pioneer A09XL Power:SevenTeam (350W) keyboard:Logitech 飆風手 精華版 ----------------------------------- My Computer [2009.06] [COLOR=Yellow]CPU:Intel Core 2 Duo E8200 +Thermalright Ultra-120A M/B:ASUS P5Q RAM:ADATA DDRII 800 2GB x 2 (海力士) + Transcend DDRII 800 2GBx2 Display Card:SAPPHIRE HD 4830 GDDR3 512MB HDD:WD 160GB JB IDE + WD 200GB + WD 250GB AAKS SATAII + WD 640GB AAKS SATAII + WD 500GB AACS SATAII + WD 2TB 64MB + ExcelStor 160GB SATAII DVD:Pioneer A09XL Power:SevenTeam ST-420BKV(420W) Ver 2.0 Sound Card:Creative Sound Blaster Audigy 2 + ONKYO SE-90PCI Speaker:Creative INSPIRE T2900 keyboard:Logitech 飆風手 精華版 Mouse:Logitech G1 換 OMRON D2F-01F 按鍵 LCD Monitor:ViewSonic VX2235wm TV Card:UPMOST MTV雙語電視卡 歡迎到我的論壇閒聊 http://nitcs.itrello.com/forum/ |
||
|
|
|
New Member
加入日期: Jan 2007
文章: 2
|
更正
抱歉 ,是我搞錯了,是C才對!!! 感謝樓上大大的提醒!!!!!!
![]() |
|
|