用C語言寫不出來的一提範例

2006-07-11 4:28 am
我是學C語言的新手,最近遇到一提很簡單的題目,但是寫了好久就是寫不出來,可否請高手幫忙解答?謝謝!
題目:試撰寫一支程式並畫出流程圖:使用者輸入任意十個正整數, 將其平均數以及最接近平均數之正整數列印出來。
更新1:

非常感謝你,我之前題目看錯了,我看成輸入的十個數中,最接近平均值的一個數。請問你可否幫我解答呢?

回答 (3)

2006-07-11 5:33 am
✔ 最佳答案
#include<stdio.h>

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 <stdio.h>#include <math.h>int main(){ double ave, d, t; int i, 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];}

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-11 9:48 pm
"耗呆小綿羊",你的程式好像不太對耶!我執行出來的答案不符合,還是很感謝你。
2006-07-11 5:47 am
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include<stdio.h>
#include<stdlib.h>
#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<NUM;i++){
printf("%d number: ",i+1);
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<NUM;i++){
if(nAverage==nNUM[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 中斷迴圈


收錄日期: 2021-04-27 17:16:09
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20060710000011KK12946

檢視 Wayback Machine 備份