数字字母分离c语言,C语言顺序结构 -C语言实现数字分离(附带源码)
桐桐上幼儿园了,学会了 1 位数字的加法运算,妈妈想考核桐桐的运算能力,于是每次给出一个四位数的整数,让桐桐计算出各位上的数字的和。妈妈想请你帮她写一个程序,能够随机产生一个四位数的整数,同时给出其各位上的数字的和,这样她就能够一边做自己的事,一边考核桐桐了。
问题分析
输入:随机产生一个四位数整数。
输出:输出整数和其各位数字的和。
1) 首先用 C语言的数学库函数 rand( ) 产生一个随机的四位数整数。
rand( ) 函数能够生成在 0~RAND_MAX 的任意整数。rand( ) 函数和常量 RAND_MAX 均在库文件 stdlib.h 中定义,一般 RAND_MAX 的默认值为最大的 int 整型数 32767。要生成 a~b 的任意整数(包含 a 和 b),可以用以下方式:
a + rand( ) % (b + 1 - a); //rand( ) % (b + 1 - a) 的最大值是 b + 1,最小值是 0
因而,要生成任意四位整数就可以用 1000+rand( )%9000实现。
事实上,rand( ) 函数产生的是一个伪随机数,重复调用该函数所产生的随机数字是相同的。要想每次执行产生不同的随机数,就需要用 srand( ) 函数进行随机初始化。
随机初始化函数 srand( ) 可以设置随机数生成器的种子,不同的种子将产生不同的随机数。在程序运行过程中时间是一直变化的,所以我们可以借助 time.h 库中的 time(NULL) 函数返回计算机当前的时间数,把它作为随机数生成器的种子,从而在每次执行 rand( ) 函数时产生一个不同的随机数。
将当前时间设置为随机数生成器种子的代码如下:
srand(time(NULL));
2) 拆分这个四位整数,获得其各位上的数字。
拆分一个数可以利用%和/运算符实现。假设 a、b、c、d 分别表示四位整数 number 的个、十、百、千位上的数,则它们的值可以分别表示为:
a = number % 10; //个位数
b = bumber / 10 % 10 //十位数
c = number / 100 % 10 //百位数
d = number / 1000 //千位数
图 1 展示了从一个四位数中拆分出其各位上的数字的过程。
图 1:数字分离——拆分四位整数获得各位上的数字
算法描述
代码清单 1:C语言程序源代码(数字分离)
#include
#include
#include
int main( )
{
system("color 70");
int number,a,b,c,d,s;
srand(time(NULL));
number = rand()%9000+1000;
a = number % 10;
b = number / 10 % 10;
c = number / 100 % 10;
d = number / 1000;
s = a + b + c + d;
printf("随机生成四位整数:%d\n",number);
printf("各位数字的和:%d + %d + %d + %d = %d\n",d,c,b,a,s);
system("pause");
return 0;
}
运行结果:
随机生成四位整数:9493
各位数字的和:9 + 4 + 9 + 3 = 25
数字字母分离c语言,C语言顺序结构 -C语言实现数字分离(附带源码)相关推荐
- java链式结构_java语言实现队列顺序结构与链式结构
本文主要向大家介绍了java语言实现队列顺序结构与链式结构,通过具体的内容向大家展示,希望对大家学习java语言有所帮助. 队列的顺序存储结构实现 public class Queue{ privat ...
- c语言比较函数memcmp,c语言函数memcmp()如何比较内存前n个字节实例源码介绍
c语言函数memcmp()如何比较内存前n个字节实例源码介绍.引入头文件:#include 定义memcmp()函数:int memcmp (const void *s1, const void *s ...
- c语言远控,远控鼠标!C语言简单编程:整舍友必备+附送实例源码!
远控鼠标!C语言简单编程:整舍友必备+附送实例源码!-1.jpg (10.71 KB, 下载次数: 0) 2018-10-11 05:24 上传 关注<一碳科技>有更多干货等着你哦! 远控 ...
- c语言旅游系统,C语言计算旅行花费附带源码
C语言计算旅行花费附带源码 来源:www.xysxzl.com时间:2021-03-01 10:56 旅游程序 国庆节桐桐一家想自驾旅游,目的地有北京.海南.云南等许多好玩的地方可选择,在已知汽车平均 ...
- c语言 转换字母 顺序结构,C语言程序设计 顺序结构程序设计 C教学设计3单元V1.0.doc...
教学设计 河北工业职业技术学院 "C语言程序设计"教学设计 系 别: 计算机技术系 设计教师: 宋铁桥 设计时间: 2017年4月25日 教学内容 第三单元 顺序结构程序设计 授课 ...
- c语言程序设计的顺序结构的常用控制语句,C语言程序设计教程-第03课-顺序结构的程序设计.ppt...
<C语言程序设计教程-第03课-顺序结构的程序设计.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计教程-第03课-顺序结构的程序设计.ppt(21页珍藏版)>请在人人 ...
- C语言游戏: 俄罗斯方块(Tetris)@兼谈程序优化方法 [源码+exe下载]
消除重复:如何将程序逻辑与数据分开? ----俄罗斯方块(Tetris)@兼谈程序优化方法 背景提示: 1,数据,是程序设计的根本.因为任何程序都可以看作是一组数据,和作用于其上的一组操作,这也是面向 ...
- c语言循环设计思想结构,C语言程序设计_05循环结构程序设计讲述.pptx
C语言程序设计_05循环结构程序设计讲述 第5章 循环结构程序设计5.1 while循环结构5.2 do-while循环结构5.3 for循环结构5.4 与循环有关的控制语句5.5 3种循环语句的比较 ...
- C语言二分法在一个有序数组查找数的算法(附完整源码)
C语言二分法在一个有序数组查找数 二分法在一个有序数组查找数 C语言分治法来计算pow(x,y)完整源码(定义,实现,main函数测试) 二分法在一个有序数组查找数 给定一个排序数组和一个数字. 用户 ...
- C语言零基础项目:自制军棋游戏!详细思路+源码分享
每天一个C语言小项目,提升你的编程能力! 这是一款由 shareli 自创规则的军旗游戏,具体的游戏规则如下: 棋盘大小:6×6. 棋子总数:36. 敌对双方:红,蓝. 棋子类别:红棋(红方操作,14 ...
最新文章
- html里面的crossorigin属性,HTML5 标签里的 crossorigin 属性到底有什么用? | Chrisyue's Blog...
- 让 Windows 7 定时待机
- linux FTP 批量下载文件
- 【codevs1869】硬币购物,背包+神奇的容斥原理
- java 去系统运行时间,JAVA WEB获取系统运行时间
- java http 面试题_Java面试高级篇—说说TCP,UDP和socket,Http之间联系和区别面试题12期...
- Windows.document对象
- Flutter Android权限问题
- 射线法判断点在多边形内适用范围_电力行业NDT无损检测技术应用大盘点!
- 开源软件许可协议介绍
- Eclipse在桌面上创建的快捷方式打不开
- 【C语言】从字符串中提取IP地址最简洁的方法
- 最全各国人口数据,人口的高出生率与高死亡率竟然是这些国家
- 打工宣言“我选择打工”走红,网友:言之有理,不得不赞同!
- 曲线拟合合集:regress,polyfit,robust,cfun等
- NOIP模拟赛 17.10.10
- 将小图标转换成字体图标代码
- 十只老鼠在1000瓶药水中找一瓶有毒的
- Java实现-中位数
- 哪有岁月静好,不过有人在为你负重前行