本文共 1192 字,大约阅读时间需要 3 分钟。
#includeint main(){//srand((unsigned)time(NULL));int number = rand()%100+1; int count=0;int guess =0;do { printf("请猜:"); scanf("%d",&guess); if(guess < number){ printf("抱歉,您猜的数过小!\n"); }else if(guess > number){ printf("抱歉,您猜的数过大!\n"); } count++;}while(guess != number); printf("恭喜您,猜对了,这个数是%d,您一共猜了%d次",number,count); return 0;}
在int number = rand()%100+1; 取随机数的时候,一直运行会发现一个问题,这个数是固定不变的,因为rand()函数是一个伪函数,这个问题怎么解决呢?
我们只需要用当前时间做种子获取随机数即可
srand((unsigned)time(NULL));
加上这一句代码,也就是在上面代码中注释的一句,而unsigned只是一个参数而已 看下运行结果 取随机数的第二个代码,依旧是使用当前时间#includeint main(){ srand(time(0)); int a =rand (); printf("%d",a); return 0;}
输入一个整数,输出它的逆顺序,例:输入1234则输出4321
#includeint main(){ int x; int a =0; int ret = 0; printf("请输入一个整数:"); scanf("%d",&x); while(x>0){ a = x % 10; ret = ret *10 + a; x/=10; } printf("这个整数的逆是:%d",ret); return 0;}
#includeint main(){//求log2 X int a=0; int x; printf("请输入一个数:"); scanf("%d",&x); int t = x ;//在这里用一个中间变量保存好输入的X while(x>1){ x/=2; a++; } printf("log2 %d = %d",t,a);//最后输出的用t而不用x是因为x在循环当中被多次重新赋值了 return 0;}
int t = x ;//在这里用一个中间变量保存好输入的X printf(“log2 %d = %d”,t,a);//最后输出的用t而不用x是因为x在循环当中被多次重新赋值了
转载地址:http://wfqzi.baihongyu.com/