精華區beta Programming 關於我們 聯絡資訊
/*題目:?A?B 程式要求: 1.程式撰寫時須加註解行。 2.電腦以亂數產生四個值,並加以記錄, 3.程式可一直玩,直到按結束或猜對時,程式方可結束。 4.可記錄勝負。*/ # include <stdio.h> # include <stdlib.h> # include <time.h> # define myrandom() srand(time(NULL)) /*設定亂數種子的巨集*/ int main(void) { int c,d;/*c代表輸入的數字 d代表亂數*/ int a1,a2,a3,a4;/*a代表?A b代表?B*/ int b1=1,b2=1,b3=1,b4=1,b5=1,b6=1,b7=1,b8=1,b9=1,b10=1,b11=1,b12=1; int b13=0,b14=0,b15=0,b16=0; myrandom(); d = rand()%9999; printf("亂數%d\n",d); printf("數字遊戲:請猜出四個正確的數字PS:亂數可能重複\n\n電腦會出現?A?B\n\n"); printf("(A代表數字和位置都正確,B代表數字正確但位置錯誤)\n\n"); printf("按0000即可退出\n"); scanf("%d",&c); printf("",(d/1000==c/1000)?(a1=1):(a1=0)); printf("",((d%1000-d%100)/100==(c%1000-c%100)/100)?(a2=1):(a2=0)); printf("",((d%100-d%10)/10==(c%100-c%10)/10)?(a3=1):(a3=0)); printf("",(d%10==c%10)?(a4=1):(a4=0)); printf("%dA",a1+a2+a3+a4); if(d/1000==(c%1000-c%100)/100) printf("",b1); else if(d/1000==(c%100-c%10)/10) printf("",b2); else if(d/1000==c%10) printf("",b3); else printf("",b13); if((d%1000-d%100)/100==c/1000) printf("",b4); else if((d%1000-d%100)/100==(c%100-c%10)/10) printf("",b5); else if((d%1000-d%100)/100==c%10) printf("",b6); else printf("",b14); if((d%100-d%10)/10==c/1000) printf("",b7); else if((d%100-d%10)/10==(c%1000-c%100)/100) printf("",b8); else if((d%100-d%10)/10==c%10) printf("",b9); else printf("",b15); if(d%10==c/1000) printf("",b10); else if(d%10==(c%1000-c%100)/100) printf("",b11); else if(d%10==(c%100-c%10)/10) printf("",b12); else printf("",b16); printf("%dB",b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12+b13+b14+b15+b16); system("pause"); return 0; 我想最後在弄回圈..可是B一直跑出12 請各位大大~幫我找出原因.. -- ┌─────KKCITY─────┐  線上音樂新震撼   bbs.kkcity.com.tw ^_^ / 隨選隨播免等待 KKBOX ^_^ / └──From:210.60.28.194 ──┘   http://www.kkbox.com.tw   --