c语言水仙花数while程序,水仙花数--C语言,for循环,while 循环
水仙花数”:是指一个三位数,其各位数字的立方和等于该数本身数值。
例如:原数 : abc
个位数: c, 十位数:b ,百位数: a
则水仙花数的要求:abc = a 3 a^3a3 + b 3 b^3b3 + c 3 c^3c3; 满足这样条件的数均为水仙花数,不满足的则不是水仙花数。
思路:
要求水仙花数,首先就要知道其范围要求:三位数,则范围是[100, 999];
另外,需要满足表达式,那么我们就需要求出其对应的个位数,十位数,百位数。
怎么去求得各对应位数呢?假设申请变量 a , b , c 分别代表百十个位,获取一个数,假设为 N。
对于求数存在多种表达方式,现在介绍一种较为容易理解的方法
首先:怎么获取百位呢? 整数 N / 100 本应该带小数,但类型属于 int 型,强制转换为整数,则 百位 a = N /100;(451/100=4)
其次:怎么求十位呢?将三位数除以10并强转,将小数位(原数的个位数)去掉,现在数据的个位便是原数的十位,二位数再取10的余,得到的余数便是原数的十位。表达方式:b = N /10%10;(451/10=45;45%10=5)
然后:怎么求个位呢?在求十位中应该有所发现,求余可以得到。表达式:c = N %10;(451%10=1)
最后:怎么算是否满足呢?将水仙花数的满足表达式进行代码转换就好了。
实现过程:
#include
#include
#include
#include
#include
int main()
{
int i=100; //申请变量并初始化,目的在于控制其范围,也可以后面再赋值;
int a,b,c; //申请变量分别接收百十个位数;
while(i<=999) //进入循环体,控制具体范围,也可以用for循环,表达方式有差异;
{
a=i/100; //求百位数
b=i/10%10; //求十位数
c=i%10; //求个位数
if(i==(pow(a,3)+pow(b,3)+pow(c,3))) //判断是否满足条件的表达式,pow 函数数标准C库函数,用来求幂次方;
printf("%d\n",i);
i++;
}
return 0;
}
接下来我们看一下结果:
接下来,我们尝试 for 循环:
12 #include
13 #include
14 #include
15 #include
16 #include
17 int main()
18 {
19 int i=100;
20 int a,b,c;
21 // while(i<=999)
22 for(i=100;i<1000;i++) //for 循环,注意范围(i<1000)等价于(i<=999)
23 {
24 a=i/100;
25 b=i/10%10;
26 c=i%10;
27 if(i==(pow(a,3)+pow(b,3)+pow(c,3))) //pow(a,3)也可以写成 a*a*a ;
28 {
29 printf("%d\n",i);
30 // i++; //此处是我注释掉的,原程序不需要,请思考如果i++会有什么区别?为什么?
31 }
32 // i++; //此处是我注释掉的,原程序不需要,请思考如果i++会有什么区别?且与30行有什么区别?为什么?
33 }
34 return 0;
35 }
结果如图:
注意:1. 请思考for循环中两处备注与原码的区别,结论异同的原因;
2.for与while 循环时,代码书写区别。
c语言水仙花数while程序,水仙花数--C语言,for循环,while 循环相关推荐
- python语言程序设计基础网课-程序设计基础(Python语言)答案
[单选题]下面代码的输出结果是 d = ...
- 小程序开发语言python_微信小程序是用什么语言开发的呢
原标题:微信小程序是用什么语言开发的呢 说到微信小程序可能大部分只是一知半解,您是否清楚小程序是用什么来开发的?如果您不太清楚,那么多美源小程序小编来告诉您小程序开的具体. 微信小程序是什么语言开发的 ...
- 微信小程序语言c#,微信小程序推出最新脚本语言WXS,你需要知道的全在这里了...
原标题:微信小程序推出最新脚本语言WXS,你需要知道的全在这里了 感谢"造程序"(微信ID:zaochengxucom)的授权发布. 责编:陈秋歌,关注微信开发等领域,寻求报道或者 ...
- 程序设计基础c语言版大作业,程序设计基础(C语言版)
本书详细介绍了C语言程序设计所涉及的标记.类型.运算符.表达式.基本输入/输出.顺序结构.选择结构.循环结构.数组类型.指针类型.函数.变量的属性.编译预处理.结构体类型.共同体类型.枚举类型以及文件 ...
- 一段c语言的自加程序输出xyz,c语言程序设计基础教程_习题解答2012.doc
c语言程序设计基础教程_习题解答2012 C语言程序设计基础教程_习题答案2012 习题答案 第1章 填空题 应用程序ONEFUNCC中只有一个函数这个函数的名称是__main 一个函数由__函数头_ ...
- c语言51单片机延时程序,51单片机c语言延时.doc
1,_nop_() 适用于us级的少量延时 标准的C语言中没有空语句.但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果.这在汇编语言中很容易实现,写几个nop就行了. 在keil C51 ...
- c语言 二进制输出_程序员入门C语言,需要掌握的4个基础知识
C语言是当前所有开发技术中使用较为广泛的一门语言,从它诞生之日起就深受程序员的喜爱.随着C语言的普及,后来的开发语言都或多或少地借鉴或遵循了它的一些模式.另外,C语言是计算机编程领域中使用最早的高级语 ...
- 单片机c语言三种经典程序结构,单片机C语言程序的结构和设计精选.docx
单片机C语言程序的结构和设计精选 实验五 单片机C语言程序的结构和设计一.实验目的1. 掌握单片机C语言的程序结构:2. 掌握单片机C语言程序的编写和调试方法:3. 掌握MSP430FG2553基本I ...
- c语言做一个小程序报告,《C语言程序设计实践》课程报告30个小程序组合成一个大程序.doc...
北方民族大学 课 程 报 告 课 程 名 称: 程序设计实践 专 业 班 级 : 软件工程(2)班 学 生 姓 名 : 李思良 学 号 : 任 课 教 师 : 王晓锋 学 期 : 2015-2016学 ...
最新文章
- 常见的数据库端口及查询方法
- 又见灵异事件,li中的span右浮动遇到的问题
- Symantec Endpoint Protection 11 混乱的版本
- Java项目导出源代码jar包在Eclipse中查看中文注释乱码的问题
- mysql8中文排序_mysql中utf8编码的中文字段按拼音排序
- C语言实现djikstra算法(附完整源码)
- url中传递对象参数_在URL参数中传递复杂对象
- PyTorch框架学习二——基本数据结构(张量)
- 面试题简答题——操作系统相关汇总
- java.lang.object源码_第三篇:java.lang.Object 类源码分析
- 【JAVA笔记】线程(1):多线程的介绍和实现
- android Monkey test测试
- 安利一个免费下载VIP文档神器
- 5000的台式计算机,预算5000的台式组装机配置清单_预算5000的台式组装机配置
- 正斜杠,又称左斜杠,符号是/;反斜杠,也称右斜杠,符号是\。
- 惠州学院计算机学院院长,惠州学院计算机科学与工程学院院领导一行来我院参观交流...
- c++ socket发送string 、char*字符串,客户端接收到乱码
- 一文读懂MySQL常用语法
- 某公司公众号任意用户注册漏洞利用
- windows计划任务定时任务
热门文章
- [Appium]MAC安装Appium
- XMind 8 Update 9 安装教程(亲测有效)
- Python 内置函数—判断素数
- Rstudio入门教程
- 数字图像处理:直方图均衡(Histogram Equalization)的原理及处理介绍
- 使用putty等ssh工具第一次远程登录树莓派,填默认账号密码pi,raspberry,报错:Access denied
- [转] 给网站上传的图片盖章
- 中国移动,中国电信免费公共wifi密码
- RS—|下载Landsat8/9数据并进行ENVI大气校正(FLAASH模型)
- 使用GPO禁用本地管理员帐户