输出4个随机数求纠正用c语言设计猜数字游戏该段是输出4个不重复的
2012-04-14 11:00:57奔***
用c语言设计猜数字游戏 该段是输出4个不重复的个位随机数 自己写的如下 不能保证不重复 因为调试时总出现问题所以自己找不出原因了 求改错
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a,b,c,d;
srand(time(NULL));
int score=rand();
a=score%10;
score=rand();
b=score%10;
if(b==a)
{
printf("1\n");
while(a!=b)
{
score=rand();
b=score%10;
}
}
score=rand();
c=score%10;
if(c==a||c==b)
{
printf("2\n");
//while(!(c==a||c==b))
while(c!=a&&c!=b)
{
score=rand();
c=score%10;
}
}
score=rand();
d=score%10;
if(d==a||d==b||d==c)
{
printf("3\n");
//while(!(d==a||d==b||d==c))
while(d!=a&&d!=b&&d!=c)
{
score=rand();
d=score%10;
}
}
printf("%d%d%d%d",a,b,c,d);
} 输出4个随机数求纠正用c语言设计猜数字游戏该段是输出4个不重复的个位随机数自己写的如下不能保证不重复因为调试时总出现问题所以自己找不出原因了求改错#includ?
最佳回答
#define MAX_NUMBER 4 int checkDouble(int *w, int num, int rData) { int i = 0; for(i = 0; i < num; i++) { if(rData == w[i]) { return 1; } } return 0; } void main() { int data[MAX_NUMBER] = {0}; int randData = 0; int i = 0; srand(time(NULL)); data[0] = rand() % 10; printf("%d",data[0]); for(i = 1; i < MAX_NUMBER;) { randData = rand() % 10; if(checkDouble(data,i,randData) == 1) { continue; } data[i] = randData; printf(",%d",data[i]); i++; } } 。
2012-04-24 15:57:37
同理2表示c,3表示d 。
2012-04-15 23:11:12
2012-04-14 12:08:38
很赞哦! (130)
相关文章
- 求大于75的两位数,使它的个位数字比十位数字大1
- 求大于75的两位数,使它的个位数字比十位数字大1
- 已知x2-13x+1=0 求x4 +x-4 的个位数字
- 个位数字:求3的128次方的个位数字
- 数学问题一个三位数,十位上的数字比个位上的数字大3,百位上的数字等于个位上的数字的平方,如果这个三位数比它的个位上的数字与十位上的数字的乘积的25倍大202,求这个三位数。
- 求个位数字求出[10^20000/(10^100+3)]的个位数字
- 用c语言编程:输出各位数字组成的最大数
- C语言实验,求改?
- 用c语言编程:输出各位数字组成的最大数
- 一个两位数十位上的数字比个位上的数字大3,个位上的数字与十位上的数字之和是这个两位数的七分之一,求这个两位数
- 用c语言编程:输出各位数字组成的最大数
- 一个三位数它的十位数字等于个位数字与百位数字之和
- 一个两位数,它们十位上的数字比个位上的数字大5,十位上的数字与个位上的数字的和等于这个两位数的1/8,求这个两位数
- 用c语言编程:输出各位数字组成的最大数
- 一个数个位上数字是5十位上的数字与个位上的数字和是7这个数是几?
- 求1997^1 ^1998的个位数字。
- 一个两位数。个位上的数字比十位上的数字大5?
- c语言数字螺旋形输出方法?
- java求1-1000内?
- 帮忙看一段C语言程序?
- 如何保证数字游戏产业的发展?
- 一个两位数 个位上的数字比十位上的数字小4?
- 一个两位数,个位上的数字比十位上的数字大2?
- 一个两位数,十位上的数字比个位上的数字小1?
- 一个三位数,个位、百位上的数字的和等于十位是的数字,百位是的数字的7倍比个位、十位数字的和大2求这三
- 个位数字:求3的128次方的个位数字
- 六年级的题:有一个三位数,它的十位上的数字等于个位上的数字与百位上的数字的和,十位上的数字减去个位上的数字的差等于2,百位上的数字与个位上的数字对调后所得的三位数比原来的数大99,求原来的三位数。
- 一个两位数,它的十位上的数字比个位上的数字大5,十位上的数字和个位上的数字之和是这个两位数的1/8,
- 有一个两位数,个位上的数字比十位上的数字小4,且个位数字与十位数字的平方和比这两位数小4。求这两位数
- 一个俩位数,个位数字比十位多5?