![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 疑難雜症區
(https://www.pcdvd.com.tw/forumdisplay.php?f=34)
- - 請教C++的高手們
(https://www.pcdvd.com.tw/showthread.php?t=688110)
|
|---|
請教C++的高手們
計概老師出的題目,希望各位大大能夠幫忙解答~感激不盡!!! : :agree:
一所附的統計程式(函式庫)請建立自己的統計軟體系統,你所建立的系統至少能構府何以下各要求: 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; } |
這不是寫C嗎?怎麼要請教C++高手?
妳要寫成物件導向嗎? |
註冊來問作業的?找錯地方囉!去程式設計俱樂部試試吧...
|
更正
抱歉 ,是我搞錯了,是C才對!!! 感謝樓上大大的提醒!!!!!! :laugh:
|
| 所有的時間均為GMT +8。 現在的時間是05:27 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2026。