谢谢楼上的仁兄
可是我试过了;rand()函数不是返回一个float型的数据吧
我是这样试验的:
#include<stdlib.h>
void main()
{
float i;
i=rand();
printf("%f",i);
getch();
}
先把i定义成int型,后又定义成float型,看看i 的输出结果,可是无论怎样都是只输出346,即为int型时输出346,为float型时输出346.0000,而不是产生一个随机的数.
请问这是为什么啊?
谢了!!!
..好象是我的错..
应该 是 ヤ順祺冄繎ヤ 说的对..
是 0到 0x7fff 之间..整数
这样..
#include<stdlib.h>
#include <time.h>
main()
{
int i;
randomize();
i=rand()%1000+1;
printf("%d",i);
getch();
}
是随即产生 1~1000 的随即数..
具体的..让我再找找书.!
[此贴子已经被作者于2006-4-5 22:14:44编辑过]
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>
#define MAX 10
main()
{
int jiajia();
int jianjian();
int chengcheng();
int a,b,c;
char temp; //用来存放输入的选择字符,,,,,,
time_t *tp;
srand(time(tp));
printf("ru gou ni xing lian xi jia qing shu ru a\nru guo ni xiang lian xi jian qing shu ru b\nru guo ni xing lian xi cheng qing shu ru c\n");
temp=getch(); //这里是必要的.....
if(temp=='a')
jiajia();
if(temp=='b')
jianjian();
if(temp=='c')
chengcheng();
getchar();
}
int jiajia()
{
int jieguo,zanchun,i,j;
i=rand()%MAX; ////////RAND_MAX是预定义的宏.....大小为:0x7FFF,用"/"的话i,j就恒等于0了,so.....要用"%"
j=rand()%MAX;
printf("%d+%d=",i,j);
scanf("%d",&zanchun);
jieguo=i+j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}
int jianjian()
{
int jieguo,zanchun,i,j;
i=rand()%MAX;
j=rand()%MAX;
printf("%d-%d=",i,j);
scanf("%d",&zanchun);
jieguo=i-j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}
int chengcheng()
{
int jieguo,zanchun,i,j;
i=rand()%MAX;
j=rand()%MAX;
printf("%d*%d=",i,j);
scanf("%d",&zanchun);
jieguo=i*j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}
[此贴子已经被作者于2006-4-5 22:39:46编辑过]
你不会说的是我吧!