/*題目:?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 ◤
--