c語言:模擬大樂透開獎程式(陣列)
問題一 (用陣列寫出程式)
讓使用者先輸入座號再輸入成績(打-1結束輸入),算出平均、總分、不及格人數、最高分.最低分的座號和分數,在輸入座號時,會檢查是否有重複的座號輸入,如果發生的話,就要求使用者重新輸入,例如第一次輸入20號, 分數90分,第二次輸入〇號,此時會顯示”號碼20已經出現過,請重新輸入座號!” 要求使用者重新輸入座號。另外, 再找最高分最低分的時候,如果有同分的,也要把號碼都顯示出來。
問題二 (用陣列寫出程式)
請設計一個程式,模擬大樂透開獎程式,利用亂數產生六個1~46號碼。每次都不會有相同的排列結果。你的程式必須利用陣列儲存每次開獎號碼的次數。假設模擬30,000次,你的程式會顯示號碼分布情形。記得: 六個號碼不會重複產生。
3 則回答
最佳解答
題1與這題一樣,題2達達幫你解了!!
#include <stdio.h>
#define n 3 //設定同學數
int main(void)
{
int i, j,
A[n][2];
for(i = 0; i < n; i++) {
printf("請輸入第%d位學號: ", i+1);
scanf("%d", &A[i][0]);
for(j = 0; j < i; j++) {
if(A[i][0] == A[j][0]) {
printf("號碼%d已經出現過,請重新輸入座號!\n", A[i][0]);
break;
}
}
if(j != i) {
i--;
continue;
}
printf("請輸入第%d位成績: ", i+1);
scanf("%d", &A[i][1]);
printf("\n");
}
//排序
for(i = 0; i < n-1; i++) {
for(j = i+1; j < n; j++) {
if(A[i][1] < A[j][1]) { //降冪排序
A[i][1] ^= A[j][1] ^= A[i][1] ^= A[j][1];
A[i][0] ^= A[j][0] ^= A[i][0] ^= A[j][0];
}
}
}
printf("==最高分==\n學號: %d, 成績: %d\n", A[0][0], A[0][1]);
for(i = 1; i < n; i++) {
if(A[i][1] == A[0][1]) printf("學號: %d, 成績: %d\n", A[i][0], A[i][1]);
else break;
}
printf("\n");
printf("==最低分==\n學號: %d, 成績: %d\n", A[n-1][0], A[n-1][1]);
for(i = n-2; i >= 0; i--) {
if(A[i][1] == A[n-1][1]) printf("學號: %d, 成績: %d\n", A[i][0], A[i][1]);
else break;
}
return 0;
}
已編譯可以執行!!
天下戰區: GO.tsa99.net
電子機台.真人遊戲和你一同玩樂
麻將 百家樂 5PK 德州撲克 水果盤 賓果 ..
輪盤 21點 10點半 骰盅 牌九 鬥地主 13支
只要免費註冊會員首次儲值送10%還有<讀卡機>
透過網路AD廣告的朋友可以按此領取免費點數
網址: GO.tsa99.net
24H客服等待為您服務!
線上遊戲天堂 http://ts999.tw
運動遊戲
實況棒球、籃球、足球、冰球、網球等多種經典賽事
即時遊戲
百家、21點、牌九、二八杠、骰寶、龍虎、輪盤、牛牛、番攤
對戰遊戲
麻將、德州撲克、二八杠、吹牛、鬥地主、13支、暗棋、接龍
電子遊戲
5PK、7PK、水果盤遊戲、5輪遊戲、極限飆速、趙雲救主、西遊戲、金瓶梅、中國美人、英雄
彩球遊戲
大樂透、六合、時時彩、今彩539、3星彩、4星彩
最新優惠活動
1. 運動遊戲連過5關,彩今再加碼10%
2. 新會員加入,有機會獲得500元禮券與精美讀卡機
3. 遊戲積分可兌換汽機車、3C、精品等多種大獎
****體驗試玩喔~!
線上遊戲天堂 http://ts999.tw