寫一個模擬程式,模擬值兩顆骰子5次,請算出值兩顆骰子得到的和的平均值與標準差。
#include
#include
#include
#include
#define SIZE 10000
int main(){
int i,j,k=1,h[10000]={0},sum=0;
double total=0,g=0,z=0;
srand(time(NULL));
while(k<=SIZE){
k++;
i=rand()%6+1;
j=rand()%6+1;
h[k]=i+j;
sum = h[k] +sum;
}
printf("%d\n",sum/SIZE);
k=1;
while(k<=SIZE){
k++;
total = pow(h[k]- sum/SIZE,2)+total;
}
printf("%f\n",sqrt(total/SIZE));
return 0;
}
跑少的數字我跑的出來 可是如果要跑10000就跑不出來....
連上個廁所吃個東西也不出來....有更好的方法嗎!?
2.請撰寫依程式,由鍵盤讀入一正整數,此一正整數為計算π值得迴圈次數。使用下列公式計算π值。
π=4-4/3+4/5-4/7+4/9-4/11+……
這題怎寫呢!?
3.迴文是指某個字串的正向拼法與反向拼法都相同。例如”raddar”反過來也是”raddar”,所以為迴文。請設計一個程式,可任意輸入英文小寫字串。並判斷結果是否為迴文。
2007-01-02 19:54:10 · 1 個解答 · 發問者 Xue 1 in 電腦與網際網路 ➔ 程式設計
我是用VISUALC 寫C語言@@"~~~~
2007-01-03 05:51:31 · update #1
第三題能把它更簡單化嗎!?
像STRING的函式庫我們還沒學過.......
2007-01-03 17:02:48 · update #2
那如果STRLEN(A[100]) 就不用算裡面的空字元囉嗎!??
http://tw.knowledge.yahoo.com/question/question?qid=1007010500780
這題能順便回覆我一下媽@@?
2007-01-05 12:27:16 · update #3
第一題
陣列宣告的問題,陣列元素是 [SIZE],宣告的陣列個數必須為 [SIZE+1]
以下為修改後的原始碼
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#include
#include
#define SIZE 10000
int main(int argc, char *argv[]){
//=====START=====//
int i,j,k;
double total=0,g=0,z=0,sum=0,h[SIZE+1]={0.0};
srand((unsigned)time(NULL));
for(k=1;k<=SIZE;k++){
i=rand()%6+1;
j=rand()%6+1;
h[k]=i+j;
sum=h[k] +sum;
}
printf("average: %lf\\n",sum/SIZE);
for(k=1;k<=SIZE;k++){
total+=pow(h[k]-sum/SIZE,2);
}
printf("root-mean-square: %lf\\n",sqrt(total/SIZE));
//=====END=====//
system("PAUSE");
return 0;
}
第二題
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#include
int main(int argc, char *argv[]){
//=====START=====//
unsigned int i,TIME;
double result=0;
printf("Input a integer: ");
scanf("%d",&TIME);
for(i=0;i<=TIME;i++){
result+=1.0/(2*i+1)*pow(-1.0,i);
}
result*=4;
printf("Result: %lf\\n",result);
//=====END=====//
system("PAUSE");
return 0;
}
第三題
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#include
#ifndef _MAX_ENV
#define _MAX_ENV 32767
#endif
#ifndef EOF
#define EOF (-1)
#endif
#define bTrue EOF
#define bFalse 0
int main(int argc, char *argv[]){
//=====START=====//
int FLAG=bTrue;
unsigned int i,LENGTH;
char STRING[_MAX_ENV];
printf("Input a string: ");
scanf("%s",STRING);
LENGTH=(unsigned)strlen(STRING);
for(i=0;i
FLAG=bFalse;
break;
}
}
printf("The string is%s Palindrome.\\n",(FLAG!=bFalse?"":"n't"));
//=====END=====//
system("PAUSE");
return 0;
}
2007-01-03 17:32:23 補充:
Microsoft Visual Studio 2005 用的就是 VC 編譯器
2007-01-04 22:36:54 補充:
第三題的字串處理函式只有用到 strlen 函式
這個函式是用來計算字串的字數
LENGTH=strlen( " BOOK " )
LENGTH 等於 4
老師沒有教到字串處理函式,沒有關係,可以使用迴圈來計數字數。
for(i=0;*(STRING i)!='\\0';i ){
//無敘述式
}
LENGTH=i;
2007-01-04 22:40:17 補充:
上面的加號不見了……( 一_一! )
for( i=0 ; *(STRING+i) != ' \\0 ' ;i++ ) {
//無敘述式
}
LENGTH = i;
2007-01-02 23:31:57 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋