比这篇新的文章:
数据库查询结果 To DataSet
比这篇旧的文章: 万进制高精度储存
作者: zackchen, 点击472次, 评论(2), 收藏者(0)
打分:
所有评论,共2条:( 我也来说两句)
比这篇旧的文章: 万进制高精度储存
猜数字游戏2.0(可重复数字版))
语言: C, 标签: 猜数字 可重复数字 2008/08/06发布 5个月前更新 更新记录作者: zackchen, 点击472次, 评论(2), 收藏者(0)
C语言: 猜数字游戏2.0(可重复数字版))
001 /*******************************************/
002 /* 作者:Zack Chen
003 /* 时间:2008年8月6日
004 /* 网站:zack.cublog.cn
005 /*******************************************/
006 #include<stdio.h>
007 #include<stdlib.h>
008 #include<time.h>
009
010 int main()
011 {
012 int i,x=0,y,input,a,b,c,d,ai,bi,ci,di;
013 srand(time(NULL));
014 i=rand();
015 a=i%10;
016 b=(i/10)%10;
017 c=(i/100)%10;
018 d=(i/1000)%10;
019 /* printf("%d%d%d%d\n",d,c,b,a); */ /* 这行代码用于测试 */
020 for(i=1;i<=25&&x!=4;i++)
021 {
022 printf("第%d次\n",i);
023 scanf("%d",&input);
024 ai=input%10;
025 bi=(input/10)%10;
026 ci=(input/100)%10;
027 di=(input/1000)%10;
028 x=compare(a,b,c,d,ai,bi,ci,di,x,y);
029 if(x!=4&&i==25)
030 printf("正确答案%d%d%d%d\n",d,c,b,a);
031 }
032 return 0;
033 }
034
035 int compare(int a,int b,int c,int d,int ai,int bi,int ci,int di,int x,int y)
036 {
037 x=y=0;
038 int asta=1,bsta=1,csta=1,dsta=1,aista=1,bista=1,cista=1,dista=1;
039 if(a==ai){
040 x++;
041 asta=aista=0;
042 }
043 if(b==bi){
044 x++;
045 bsta=bista=0;
046 }
047 if(c==ci){
048 x++;
049 csta=cista=0;
050 }
051 if(d==di){
052 x++;
053 dsta=dista=0;
054 }
055 if(bsta&&aista&&ai==b){
056 y++;
057 bsta=aista=0;
058 }
059 if(csta&&aista&&ai==c){
060 y++;
061 csta=aista=0;
062 }
063 if(dsta&&aista&&ai==d){
064 y++;
065 dsta=aista=0;
066 }
067 if(asta&&bista&&bi==a){
068 y++;
069 asta=bista=0;
070 }
071 if(csta&&bista&&bi==c){
072 y++;
073 csta=bista=0;
074 }
075 if(dsta&&bista&&bi==d){
076 y++;
077 dsta=bista=0;
078 }
079 if(asta&&cista&&ci==a){
080 y++;
081 asta=cista=0;
082 }
083 if(bsta&&cista&&ci==b){
084 y++;
085 bsta=cista=0;
086 }
087 if(dsta&&cista&&ci==d){
088 y++;
089 dsta=cista=0;
090 }
091 if(asta&&dista&&di==a){
092 y++;
093 asta=dista=0;
094 }
095 if(bsta&&dista&&di==b){
096 y++;
097 bsta=dista=0;
098 }
099 if(csta&&dista&&di==c){
100 y++;
101 csta=dista=0;
102 }
103 printf("%dA%dB\n\n",x,y);
104 return x;
105 }
106
107
108 /*希望哪位前辈可以帮忙改进一下compare()函数,本人是新手*/
002 /* 作者:Zack Chen
003 /* 时间:2008年8月6日
004 /* 网站:zack.cublog.cn
005 /*******************************************/
006 #include<stdio.h>
007 #include<stdlib.h>
008 #include<time.h>
009
010 int main()
011 {
012 int i,x=0,y,input,a,b,c,d,ai,bi,ci,di;
013 srand(time(NULL));
014 i=rand();
015 a=i%10;
016 b=(i/10)%10;
017 c=(i/100)%10;
018 d=(i/1000)%10;
019 /* printf("%d%d%d%d\n",d,c,b,a); */ /* 这行代码用于测试 */
020 for(i=1;i<=25&&x!=4;i++)
021 {
022 printf("第%d次\n",i);
023 scanf("%d",&input);
024 ai=input%10;
025 bi=(input/10)%10;
026 ci=(input/100)%10;
027 di=(input/1000)%10;
028 x=compare(a,b,c,d,ai,bi,ci,di,x,y);
029 if(x!=4&&i==25)
030 printf("正确答案%d%d%d%d\n",d,c,b,a);
031 }
032 return 0;
033 }
034
035 int compare(int a,int b,int c,int d,int ai,int bi,int ci,int di,int x,int y)
036 {
037 x=y=0;
038 int asta=1,bsta=1,csta=1,dsta=1,aista=1,bista=1,cista=1,dista=1;
039 if(a==ai){
040 x++;
041 asta=aista=0;
042 }
043 if(b==bi){
044 x++;
045 bsta=bista=0;
046 }
047 if(c==ci){
048 x++;
049 csta=cista=0;
050 }
051 if(d==di){
052 x++;
053 dsta=dista=0;
054 }
055 if(bsta&&aista&&ai==b){
056 y++;
057 bsta=aista=0;
058 }
059 if(csta&&aista&&ai==c){
060 y++;
061 csta=aista=0;
062 }
063 if(dsta&&aista&&ai==d){
064 y++;
065 dsta=aista=0;
066 }
067 if(asta&&bista&&bi==a){
068 y++;
069 asta=bista=0;
070 }
071 if(csta&&bista&&bi==c){
072 y++;
073 csta=bista=0;
074 }
075 if(dsta&&bista&&bi==d){
076 y++;
077 dsta=bista=0;
078 }
079 if(asta&&cista&&ci==a){
080 y++;
081 asta=cista=0;
082 }
083 if(bsta&&cista&&ci==b){
084 y++;
085 bsta=cista=0;
086 }
087 if(dsta&&cista&&ci==d){
088 y++;
089 dsta=cista=0;
090 }
091 if(asta&&dista&&di==a){
092 y++;
093 asta=dista=0;
094 }
095 if(bsta&&dista&&di==b){
096 y++;
097 bsta=dista=0;
098 }
099 if(csta&&dista&&di==c){
100 y++;
101 csta=dista=0;
102 }
103 printf("%dA%dB\n\n",x,y);
104 return x;
105 }
106
107
108 /*希望哪位前辈可以帮忙改进一下compare()函数,本人是新手*/
所有评论,共2条:( 我也来说两句)
| 1 |
半瓶墨水
5个月前
回复
最后的注释不对,星号是中文的
|
| 2 |
关于compare函数,参见: @#128 里面的get_match_ab 和 get_match_ab2
|
代码