程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言編程問題!!求教

C語言編程問題!!求教

編輯:C語言問答

C語言編程問題!!求教

20

#include<stdio.h>
#include <stdlib.h>
main()
{
 int i,roll[7]={0},m;
 for(i=0;i<6000;i++)
 {m=(int)(1+rand(6));
  roll[m]++;
 }
 for(i=1;i<=6;i++)
  printf("roll[%d]=%5d\n",i,roll[i]);
 return 0;
}

這個rand說沒有定義,求教!!error C2660: 'rand' : function does not take 1 parameters

最佳回答:

#include<stdio.h>
#include <stdlib.h>

main() {
 int i,m,roll[7]={0};
 for(i = 0;i < 6000;i++) {
  m = (int)rand()%7; // 0 ≤ m ≤ 6
  roll[m]++;
 }
 for(i = 0;i < 7;i++)
  printf("roll[%d] = %5d\n",i,roll[i]);
 return 0;
}

追問:
這加起來沒6000啊!不對啊
回答:
你加了嗎,結果是多少?
追問:

結果怎麼還有roll[0],骰子只有6個點啊,我是這個意思!!謝謝

 

回答:

#include<stdio.h>
#include <stdlib.h>
#include <time.h>

main() {
 int i,m,roll[7] = {0};
 srand((unsigned)(time(NULL)));
 for(i = 0;i < 6000;i++) {
  m = (unsigned)rand()%6 + 1; // 1 ≤ m ≤ 6
  roll[m]++;
 }
 for(i = 1;i < 7;i++)
  printf("roll[%d] = %d\n",i,roll[i]);
 return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved