当前位置:首页 > 教育培训 >

c语言的水仙花数怎么判断(c语言判断水仙花数调用函数)

来源:原点资讯(www.yd166.com)时间:2023-05-10 01:36:28作者:YD166手机阅读>>

C语言是面向过程的,而C++是面向对象的

C和C 的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C ,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C 的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C 比C更先进,是因为“ 设计这个概念已经被融入到C 之中 ”。

c语言的水仙花数怎么判断,c语言判断水仙花数调用函数(1)

C与C 的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C 比C更先进,是因为“ 设计这个概念已经被融入到C 之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

c语言的水仙花数怎么判断,c语言判断水仙花数调用函数(2)

原题

解题

思路

初始化i=100。

①取i的各位数,百位a,十位b,个位c。

②判断i==a∧3 b∧3 c∧3 是否成立

③如果成立则输出,否则不输出。

④i=i 1,当i小于1000重复①,否则结束。

关键算法:取任意三位数的各位数

c语言的水仙花数怎么判断,c语言判断水仙花数调用函数(3)

小编推荐一个学C语言/C 的学习裙【 六四八,七七八,八四零 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

算法一:除减法

①将数除以100,由整型数据特点,小数点后被忽略,取得百位a。

②该数减去a * 100,除以10,得到十位b。

③该数减去a * 100和b * 10即得个位c。

代码实现

a = i / 100;b = (i - 100 * a) / 10;c = i - 100 * a - 10 * b;

完整代码:

void NarcissusNumber(int m) { int a; //三位数的百位 int b; //三位数的十位 int c; //三位数的个位 int d; //各位数字立方和与数的差值 a = m / 100; b = (m - 100 * a) / 10; c = m - 100 * a - 10 * b; d = a*a*a b*b*b c*c*c - m; if (d==0) //各位数字立方和与数相等,输出 { printf("%d ", m); }}

好处:易理解,菜鸟基本都会这算法。

不足:当数字位数较大时,减法操作需要进行多次,比较代码比较冗长。

c语言的水仙花数怎么判断,c语言判断水仙花数调用函数(4)

小编推荐一个学C语言/C 的学习裙【 六四八,七七八,八四零 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

算法二:除余法

①将数除以10取余数得个位c

②将数除以10后再与10取余得到十位b

③将该数除以100再与10取余得到百位a

代码实现

int c = n % 10; //个位int b = n / 10 % 10; //十位int a = n / 100 % 10; //百位,或者写int c = n / 100;

这种算法对我们菜鸟来说很新奇,难以想到。

即使这样,该算法也不比算法一简洁,所以需要改进。

算法二改进

①将数除以10取余数得个位c,将该数除以10

②重复①得到十位b

③继续重复①得到百位a

代码实现

int sum = 0; //求和变量int temp=i; //存放数值i,防被覆盖而丢失int rem; //余数for (int j = 0; j < 3; j )//第一次循环得到个位立方和,第二次循环得到个位与十位立方和...{ rem = temp % 10; temp /= 10; sum = rem * rem*rem;}

这算法简便,效率较高

有点难懂

完整代码

//输出水仙花void NarcissusNumber(){ for (int i = 100; i < 1000; i ) { int sum = 0; int temp=i; int rem; for (int j = 0; j < 3; j ) { rem = temp % 10; temp /= 10; sum = rem * rem*rem; } if (sum == i) { printf("%d ", i); } }}

学习思路:

c语言的水仙花数怎么判断,c语言判断水仙花数调用函数(5)

学习资料:

c语言的水仙花数怎么判断,c语言判断水仙花数调用函数(6)

栏目热文

c语言判断是否是水仙花数(c语言判断水仙花数153)

c语言判断是否是水仙花数(c语言判断水仙花数153)

C语言编写程序求水仙花数水仙花数是一个数学问题,其实质是一个三位数,个位数的立方加十位数的立方加百位数的立方之和等于这个...

2023-05-10 01:26:29查看全文 >>

c语言输出所有水仙花数(c语言打印500以内的水仙花数)

c语言输出所有水仙花数(c语言打印500以内的水仙花数)

​C和C 的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或...

2023-05-10 02:12:17查看全文 >>

英语考证有哪些(外企认可的英语证书)

英语考证有哪些(外企认可的英语证书)

在以往我们的认知中四六级考试是衡量英语水平的一个重要考试,但是近几年随着社会的不断发展,也涌现出来越来越多的英语考试,可...

2023-05-10 01:46:15查看全文 >>

2022年公共英语三级报名(2022年全国公共英语等级考试报名)

2022年公共英语三级报名(2022年全国公共英语等级考试报名)

2022年下半年全国英语等级考试(PETS)定于2022年9月24日(星期六)至25日(星期日)举行,上海地区开考级别为...

2023-05-10 01:57:33查看全文 >>

输出所有的水仙花数c语言(输出所有水仙数的c语言程序)

输出所有的水仙花数c语言(输出所有水仙数的c语言程序)

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙...

2023-05-10 02:11:12查看全文 >>

c语言打出所有的水仙花数(c语言定义一个函数求所有水仙花数)

c语言打出所有的水仙花数(c语言定义一个函数求所有水仙花数)

1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数...

2023-05-10 01:39:25查看全文 >>

水仙花编程题c语言(c语言创意程序题目)

水仙花编程题c语言(c语言创意程序题目)

阿姆斯特朗数也叫水仙花数,指一个3位数的各位数字的立方和等于该数本身。如153 = 1^3 5^3 3^3。分析...

2023-05-10 01:39:53查看全文 >>

c语言典型例题100道(c语言题库1440道)

c语言典型例题100道(c语言题库1440道)

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。喜欢的同学记得点赞收藏哦~1 题目函数:fun() 功能...

2023-05-10 01:37:49查看全文 >>

上飞机可以带二十公斤生牛肉吗

上飞机可以带二十公斤生牛肉吗

记者 李自强 对入境航班旅客行李物品进行查验时,在旅客的行李箱中发现2个铝箔保温袋,保温袋中共有5件保鲜膜包裹...

2023-05-10 01:55:19查看全文 >>

文档排行