我是學C語言的新手,最近遇到一提很簡單的題目,但是寫了好久就是寫不出來,可否請高手幫忙解答?謝謝!
題目:試撰寫一支程式並畫出流程圖:使用者輸入任意十個正整數, 將其平均數以及最接近平均數之正整數列印出來。
2006-07-10 16:28:13 · 3 個解答 · 發問者 Chucky 3 in 電腦與網際網路 ➔ 程式設計
非常感謝你,我之前題目看錯了,我看成輸入的十個數中,最接近平均值的一個數。請問你可否幫我解答呢?
2006-07-10 17:38:08 · update #1
#include
int main()
{doubleave;
inti, I[10], s;
printf("Please enter 10 positive integers: ");
for (s=i=0; i<10; i++)
{scanf("%d", &I[i]);
if (I[i] < 0)i--;
s+= I[i];
}
i= ave= (double)s / 10;
if (ave - i > 0.5)i++;
printf("Sum: %d\tAverage: %f\tInteger nearest to average: %d\n", s, ave, i);
return 0;
}
2006-07-10 21:34:23 補充:
那是 double ave int i, I[10], s;網網把它接在一起了!!
2006-07-11 07:21:00 補充:
#include
2006-07-11 07:22:14 補充:
ave=(double)s/10;d=((unsigned)-1)/2;for(s=i=0;i<10;i++) if( (t=fabs(I[i]-ave)) < d) d=t,s=i;printf("Ave.: %f\t%dth item, %d, nearest to the ave.\n", ave, s, I[s]);return 0;}
2006-07-10 17:33:01 · answer #1 · answered by ? 7 · 0⤊ 0⤋
"耗呆小綿羊",你的程式好像不太對耶!我執行出來的答案不符合,還是很感謝你。
2006-07-11 09:48:41 · answer #2 · answered by Chucky 3 · 0⤊ 0⤋
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#define NUM 10
int main(){
//START
int i,nNUM[NUM],nTotal=0,nAverage,likeAverage,nFlag=0;
double dblAverage;
printf("Average\n\nInput 10 Integers...\n");
for(i=0;i
scanf("%d",&nNUM[i]);
nTotal+=nNUM[i];
}
dblAverage=(double)nTotal/NUM;
nAverage=(int)dblAverage;
printf("Average %lf\n",dblAverage);
for(;nFlag!=EOF;nAverage++){
for(i=0;i
nFlag=EOF;
likeAverage=nNUM[i];
break;
}
}
}
printf("Like Average %d\n",likeAverage);
//END
system("PAUSE");
return 0;
}//main
2006-07-10 21:51:37 補充:
循序檢查接近平均數的整數定 nFlag 的 EOF 為 True,nFlag=0 為 False找到就 break 中斷迴圈
2006-07-10 17:47:11 · answer #3 · answered by Big_John-tw 7 · 0⤊ 0⤋