查看單個文章
舊 2006-06-11, 08:06 PM   #3 (permalink)
hoio121
長老會員
 
hoio121 的頭像
榮譽勳章
UID - 43637
在線等級: 級別:9 | 在線時長:125小時 | 升級還需:15小時級別:9 | 在線時長:125小時 | 升級還需:15小時級別:9 | 在線時長:125小時 | 升級還需:15小時級別:9 | 在線時長:125小時 | 升級還需:15小時
註冊日期: 2003-02-28
文章: 614
精華: 0
現金: 16580 金幣
資產: 21480 金幣
預設

PHP 語法:
#include <time.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

int aa[4],bb[4]; //aa[]=電腦產生的數字 bb[]=使用者輸入的數字

int cmpA() //比較位置且數字相同的函數
{
int a=0,n;
for(
n=0;n<4;n++)
if(
aa[n]==bb[n]) //假如兩者位置且數字相同
a++;
return(
a);
}
int cmpB() //比較數字相同但位置不同的函數
{
int b=0,m,n;
for(
m=0;m<4;m++)
for(
n=0;n<4;n++)
if(
bb[m]==aa[n]) //假如兩者數字相同但位置不同
b++;
return(
b);
}
void main()
{
int i,j;
srand(time(NULL)); //亂數種子產生
printf("遊戲開始覺先請按任意鍵\n(Ctrl+q 離開)\n");
getch();
for(
i=0;i<4;i++) //產生要使用者猜的四位數
{
aa[i]=rand()%10+48//產生ASCII碼0~9的數字
for(j=0;j<i;j++)
{
if(
aa[i]==aa[j]) //電腦產生的數字不能重複
i--;

}
while(
i<6//假如猜中數字或使用者輸入Ctrl-q,則跳離
{
printf("輸入Ctrl-q則直接顯示答案\n");
printf("請輸入:\n");
for(
i=0;i<4;i++) //使用者要輸入小於五個字元
{
bb[i]=getche(); //顯示輸入的數字字元
if(bb[i]==17//假如輸入Ctrl-q則直接顯示答案
{
i=6;
break;
}
for(
j=0;j<i;j++)
if(
bb[i]==bb[j]) //使用者輸入的數字不能重複
{
i=4;
printf("\nyour number is overlap!\n");
break;
}

if(
cmpA()==4//假如使用者輸入的跟電腦完全相同
{
printf("\nYOU WIN!!!");
i=6;
}
else if(
i<5)
printf(" %dA%dB\n",cmpA(),cmpB()-cmpA()); //印出數字相同的訊息
}

printf("\n正確答案是 :"); //顯示答案
for(i=0;i<4;i++)
printf("%c",aa[i]);


寫出來大概是這樣,請問要再如何把文件檔輸出。記錄猜過的數字。

寫出來的程式要像這樣。
http://wlanrc.nchc.org.tw/bcc/files/Example/EX-2.zip
__________________
服務時間AM6:00~7:00,PM10:00~12:00
hoio121 目前離線  
送花文章: 2, 收花文章: 12 篇, 收花: 51 次
回覆時引用此帖