C语言经典100题:5
来源:互联网 发布:linux下查看cpu使用率 编辑:程序博客网 时间:2024/06/06 05:21
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
分析:简单的排序问题,这个只有三个数据的排序问题,题目比较简单。设置三个变量x,y,z,比较x与y。将最大的数赋给x,在比较x跟z,同理,x为最大的数据。接着第三步比较y跟z。得出最小的数据赋予z。
#include<stdio.h>int main(void){int x,y,z,t;scanf("%d %d %d",&x,&y,&z);if(x<y){t=x;x=y;y=t;}if(x<z){t=x;x=z;z=t;}if(z>y){t=z;z=y;y=t;}printf("%d %d %d",z,y,x);return 0;}
现在扩充一下题目,因为原来的题目比较简单,所以我们现在先把题目更改一下,变成对随机产生的100个数据或者更大数量的数据进行排序,数据范围为1000或者更大。
为此我们需要来学习一些必要的库函数:<time.h>跟<stdlib.h>。这两个函数是用来产生随机数的。接下来会分别介绍将会用到的方法。
time_t time(time_t *seconds) :返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。
#include<time.h>#include<stdio.h>int main(void){time_t second;second=time(NULL);printf("%ld",second);return 0;}
上面是time()方法的一种应用:获取时间。
接下来我们用来产生随机数据。根据网上的很多资料显示,方法rand()时产生随机数据的方法,当你rand()%max,这个max就是你要的随机数据的上限,你要产生几个随机数据就用几次for循环就可以产生
srand()方法需要介绍一下,计算机产生的随机数据是一种伪随机数,所以当你想要得到比较理想化的随机数据时,你就必须设置一个随机的种子。而一般使用时间来做种子,因为只要你下次启动程序的时间间断超过一定时间的话种子就变化了,所以你得到的随机数据就跟上次程序不一样,关于种子的概念可以参考一下这个:https://zhidao.baidu.com/question/432083843484535044.html
#include<time.h>#include<stdio.h>#include<stdlib.h>int main(void){int x,i;srand(time(NULL));for(i=0;i<50;i++){printf("%d\n",rand()%100);}return 0;}
以上代码就是显示0-100的随机数据,因为种子的设置随时间的变化而变化,所以两次程序的开启所产生的数据是不一样的。
- C语言经典100题:5
- c语言经典100题
- C语言经典100题(收藏)
- C语言经典100题-程序21
- 【编程语言】经典C程序100题
- c语言实用经典100题
- C语言 经典编程100题
- C语言经典100例
- C语言经典100例
- C语言经典100例
- C语言经典100例
- c语言经典100例
- C语言经典100例
- C语言经典100例
- c语言经典100例
- c语言经典入门题
- 经典c语言笔试题
- C语言输入输出经典题
- RecyclerView列表数据刷新
- C++实验四-年龄几何
- android基于XRichText实现图文混编
- APP安全报告第十五期:音乐APP的安全性极低,用户信息存在泄露风险!
- asp.net点击按钮先弹出正在加载
- C语言经典100题:5
- PHP中static关键字以及与self关键字的区别
- Mysql错误:The server time zone value is unrecognized or represents more than one time zone
- Visual Studio2010--命令行编译C/C++
- 不仅仅是写代码,而是完成作品
- smartgit使用之一---合并分支
- 使用commons-csv生成.csv文件
- 【Eclipse】给web项目打war包
- 全新定义VIP,不止于资源---价格不变,福利不断