| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2343 人关注过本帖
标题:[求助]矩阵,猜数和对称数问题
只看楼主 加入收藏
vvex
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-12-25
收藏
得分:0 
顶上去
2007-05-11 21:37
vvex
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-12-25
收藏
得分:0 
YOGIOH

int d[10]={'\0'};
有语法错误!
13个错
2007-05-11 22:26
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
回复:(vvex)[求助]矩阵,猜数和对称数问题
我用BORLANDC编译的
你用的VC?

2007-05-11 22:31
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
回复:(vvex)[求助]矩阵,猜数和对称数问题

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#define N 5
void getnum(char *);
void input(char *);
void output(char *,int,int);
void main()
{
char a[N]={0};
getnum(a);
input(a);

}

void getnum(char *a)
{
int i;
srand((unsigned)time(NULL));
for(i=0;i<N-1;i++)a[i]=rand()%10+48;
a[i]='\0';

}
void input(char *a)
{
char b[N]={0};

int i,j,m,n;
do
{
i=0,n=0,m=0;
int d[10]={'\0'};

printf("input the numeber x:");
gets(b);
if(b[0]=='E'){printf("the correctnumber is %s",a);break;}
for(j=0;j<N-1;j++)
{
if(a[j]==b[j])m++;
switch(b[j])
{
case '0': d[0]++;break;
case '1': d[1]++;break;
case '2': d[2]++;break;
case '3': d[3]++;break;
case '4': d[4]++;break;
case '5': d[5]++;break;
case '6': d[6]++;break;
case '7': d[7]++;break;
case '8': d[8]++;break;
case '9': d[9]++;break;
}
}
for(j=0;j<10;j++)if(d[j]!=0)for(i=0;i<N-1;i++)if((j+48)==a[i])n++;

output(b,n,m);
}while(n<4||m<4);
getch();

}


void output(char *b,int n,int m)
{
printf("\n");
printf("-------------------------------------------------------\n");
printf("inputnumeber numbercorrect positioncorrect\n");

printf(" %s %d %d\n",b,n,m);
}
重新修改了一下
想退出的时候输入EXIT总之E大写,通过这个判断的
同时输出正确答案
本人比较菜,所以有些不完美

[此贴子已经被作者于2007-5-11 22:55:19编辑过]


2007-05-11 22:42
vvex
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-12-25
收藏
得分:0 
我用的TC
2007-05-12 09:48
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
回复:(vvex)[求助]矩阵,猜数和对称数问题

#include<conio.h>
#include<time.h>
#define N 5
void getnum(char *);
void input(char *);
void output(char *,int,int);
void main()
{
char a[N]={0};
getnum(a);
input(a);

}

void getnum(char *a)
{
int i;
srand((unsigned)time(NULL));
for(i=0;i<N-1;i++)a[i]=rand()%10+48;
a[i]='\0';

}
void input(char *a)
{
int d[10]={0};
char b[N]={0};

int i,j,m,n;
do
{
i=0,n=0,m=0;
for(i=0;i<10;i++) d[i]=0;

printf("input the numeber x:");
gets(b);
if(b[0]=='E'){printf("the correctnumber is %s",a);break;}
for(j=0;j<N-1;j++)
{
if(a[j]==b[j])m++;
switch(b[j])
{
case '0': d[0]++;break;
case '1': d[1]++;break;
case '2': d[2]++;break;
case '3': d[3]++;break;
case '4': d[4]++;break;
case '5': d[5]++;break;
case '6': d[6]++;break;
case '7': d[7]++;break;
case '8': d[8]++;break;
case '9': d[9]++;break;
}
}
for(j=0;j<10;j++)if(d[j]!=0)for(i=0;i<N-1;i++)if((j+48)==a[i])n++;

output(b,n,m);
}while(n<4||m<4);
getch();

}


void output(char *b,int n,int m)
{
printf("\n");
printf("-------------------------------------------------------\n");
printf("inputnumeber numbercorrect positioncorrect\n");

printf(" %s %d %d\n",b,n,m);
}

不好意思
这回我用TC编译的没有问题了
原来和TC还是有区别的
想要正确答案和退出时候输入EXIT注意E一定要大写


2007-05-12 13:43
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

这是我的4位猜数,还好吧.....
#include <stdio.h>

main()
{
int a[4],b[4],c[4];
int i,j,m=0,n=0,k;

for(i=0;i<4;i++)
c[i]=rand()%10;

for(k=0;k<8;k++)
{
printf("please intput you number:\n");

for(i=0;i<4;i++)
{
a[i]=c[i];
scanf("%1d\0",&b[i]);
}

printf("\nhere is your number:\n");
for(i=0;i<4;i++)
printf("%d",b[i]);

printf("\nright number*****right location\n");

m=0;n=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(b[i]==a[j])
{
m++;
break;
}

for(i=0;i<4;i++)
if(a[i]==b[i])
n++;
printf(" %d %d \n",m,n);

if(k<8&&n==4)
{
printf("success!\n");
break;
}
else
printf("bad boy!\n");
}
}


偶是菜鸟鸟偶惧WHO?!!!!
2007-05-12 15:35
快速回复:[求助]矩阵,猜数和对称数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018749 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved