博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c的循环小案例(取随机数)
阅读量:3961 次
发布时间:2019-05-24

本文共 1192 字,大约阅读时间需要 3 分钟。

1.猜数

#include 
int 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只是一个参数而已
看下运行结果
在这里插入图片描述
取随机数的第二个代码,依旧是使用当前时间

#include 
int main(){ srand(time(0)); int a =rand (); printf("%d",a); return 0;}

2,整数取逆

输入一个整数,输出它的逆顺序,例:输入1234则输出4321

#include 
int 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;}

在这里插入图片描述

3 求对数log2

#include 
int 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/

你可能感兴趣的文章
在shell脚本的第一行中,必须写#!/bin/bash
查看>>
一句话##错误 'ASP 0116' 丢失脚本关闭分隔符
查看>>
文件上传漏洞之.htaccess
查看>>
常见网络安全设备默认口令
查看>>
第三周任务,利用文件上传漏洞
查看>>
ctfhub 投稿彩蛋
查看>>
【Shiro_exploit】PYTHON报错解决:ModuleNotFoundError: No module named 'requests'
查看>>
一次很折腾的扩容,记录一下之后再整理
查看>>
VirtualBox虚拟机网络配置
查看>>
oracle vm virtualbox虚拟机下,CentOS7系统网络配置
查看>>
Windows 10下Docker使用经验谈
查看>>
centos下nmap安装和基础命令
查看>>
ubuntu出现有线已连接却无法上网
查看>>
一句话命令
查看>>
解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法
查看>>
wdcpv3升级到v3.2后,多PHP版本共存的安装方法
查看>>
centos tar压缩与解压缩
查看>>
Centos 7防火墙firewalld/iptables开放80端口
查看>>
centos 7 yum源文件配置详解及163 yum源更换
查看>>
PHP统计当前网站的访问人数,访问信息,被多少次访问。
查看>>