1. 設計一函式RandAvg(),從0-1000中取100個亂數求平均值並回傳該平均值。
2. 利用遞迴的方式,設計一個函式float power(float x,int y),計算出x的y次方。
3. 利用#define定義一個巨集,印出輸入整數的3次方。
2006-12-14 12:06:48 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
可以麻煩標一下題號ㄇ.有點看不懂
2006-12-17 04:22:43 · update #1
#include
#include
#include
#define cube(x) (x)*(x)*(x) // 3
int RandAvg(void); // 1
float power(float,int); // 2
int main()
{
printf("%d\n",RandAvg());
printf("%f %f\n",power(2,-10),power(2,10));
printf("%d\n",cube(1.5),cube(10));
return 0;
}
// 1
int RandAvg()
{
int i;
int sum=0;
srand(time(NULL));
for(i=0;i<100;++i)
sum+= rand() % 1001;
return sum/100;
}
// 2
float power(float x,int y)
{
if(y == 0) return 1.0;
if(y>0)
return x * power(x,y-1);
else
return 1/power(x,-y);
}
2006-12-17 23:42:49 補充:
//1 //2 //3 對應到你的題號
main() 只是用來測試 function 是否為所要的
以上
2006-12-14 12:33:29 · answer #1 · answered by 鳳琳 5 · 0⤊ 0⤋
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#include
#include
#define no3(X) X*X*X
int main(int argc, char *argv[]){
//=====START=====//
double RandAvg(unsigned int N,unsigned int RANGE);
float power(float x,int y);
printf("(1)%lf\n",RandAvg(100,1001));
printf("(2)%lf\n",power(2,10));
printf("(3)%u\n",no3(3));
//=====END=====//
system("PAUSE");
return 0;
}
double RandAvg(unsigned int N,unsigned int RANGE){
double VALUE;
unsigned int i;
srand((unsigned)time(NULL));
for(i=0,VALUE=0;i
}
VALUE/=N;
return VALUE;
}
float power(float x,int y){
if(y==0){
return 1;
}else{
return x*power(x,y-1);
}
}
2006-12-14 12:33:23 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋