当前位置: 首页 > news >正文

C语言练习题——判断水仙花数(0-100000)

这个代码题需要我们学会C语言知识点学习🔗

  • 循环和选择结构的知识;
  • 函数声明、调用、定义
  • 数组的知识(目前我们前面没有学习,但这个也可以不用数组存储的)
    • 只是使用数组会方便我们思考这道题目如何落实,思索更简便
  • 这个题目根据我们前面学习的内容是完全够用的

  • 求出0~100000之间的所有“水仙花数”并输出。
  • "水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,
  • 如:153=1^3+5^3+3^3,则153是一个“水仙花数”。
  • 如:1634:1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634,则1634是一个“水仙花数”。
  • 0~9都是水仙花数,因为1 = 1^1,2 = 2^1
  • 10不是水仙花数,1^1+0^1=1,10 !=1
  • 这个题目可以先从基础的判断某一个数字是否为水仙花数开始写,比如:输入一个3位的数字,判断是否为水仙花数
/*输入一个3位的数字,判断是否为水仙花数*/
#include<stdio.h>
int main()
{int num=0;printf("请输入一个正整数的三位数字:"); scanf("%d",&num);int i=0;int j=0;int k=0;i=num%10;j=(num/10)%10;k=(num/100)%10;int sum=0;sum=i*i*i+j*j*j+k*k*k;if(sum==num)printf("YES,%d是水仙花数!\n",num);elseprintf("NO\n");return 0; 
}

/*
* 求出0~100000之间的所有“水仙花数”并输出。
* "水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,
* 如:153=1^3+5^3+3^3,则153是一个“水仙花数”。
* 如:1634:1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634,则1634是一个“水仙花数”。
* 0~9都是水仙花数,因为1 = 1^1,2 = 2^1
*/
#include<stdio.h>
//声明:
int shuixianhua(long n);	//判断是否是水仙花数的函数 
long chengji(int count, long arr_sum);		//得到数字每一位的n(count)次方 的函数 //主函数:
int main()
{long n = 0;printf("打印0~100000之间的所有“水仙花数”:\n");//	printf("请输入一个数字:");		//这个是判断某个数字是否为水仙花数 //	scanf("%ld", &n);int ret = 0;for (n = 0; n <= 100000; n++){ret = shuixianhua(n);	//根据返回值判断是否为水仙花数 if (ret)printf("%ld 是水仙花数 YES\n", n);}return 0;
}//定义: 水仙花数判断 
int shuixianhua(long n)		//153
{long arr[1000];		//存储数字的每一位 ,1、5、3 int i = 0;long temp = n;		//将数字临时存储,153 long count = 0;	//计数器 for (i = 0; (i < 1000 && temp>0); i++){arr[i] = temp % 10;		//3-> 5-> 1temp = temp / 10;		//15-> 1 ->0count++;				//记录数字有几位 }long sum = 0;for (i = 0; i < count; i++){sum += chengji(count, arr[i]);	//得到数字每一位的n(count)次方之和 }if (sum == n)	//数字 == 每一位次方和 ,则是水仙花数,返回1 return 1;else			//否则返回0		return 0;				
}//定义: 循环乘积
//得到水仙花数每一位的n(count)次方 的函数 
long chengji(int count, long arr_sum)		//数字的位数,某一位。如:3位,1/5/3中的某一个数字 
{int i = 0;long sum = 1;for (i = 0; i < count; i++){sum = sum * arr_sum;}return sum;
}

上面的代码如果有错误,或者有更简便的写法欢迎大家在评论区指出,感谢大家的浏览!🌹🌹

http://www.dtcms.com/a/601871.html

相关文章:

  • 广州好的网站建设昆明微网站搭建哪家好
  • 找国内外贸公司的网站深圳自己做网站
  • 视频融合平台EasyCVR:云台控制与语音对讲赋能远程交互式视频监控新场景
  • 做设计私活的网站php网站建设费用
  • next.js(二)——从react到next.js
  • Android开发自学笔记 --- 构建简单的UI视图
  • ubuntu 升级mysql由mysql5.7.42 升级到8.4.0
  • 项目实战Now in Android:项目模块说明
  • 自己做店铺网站宁波建设有限公司
  • 激活函数是什么,神经网络中为什么要有激活函数
  • 全面且详细地解析神经网络中梯度下降(Gradient Descent, GD)的原理
  • 软考 系统架构设计师历年真题集萃(200)—— 2025年11月系统架构设计师真题3
  • 上海网站建设公司sky建筑装修装饰工程内容
  • 网站建设平台接单周到的商城网站建设
  • MySQL快速入门——使用C_C++连接
  • 机器人教师的课堂管理权限边界讨论:会替代人类教师吗?
  • 南昌网站seo技术厂家网站建设flash
  • 库存周转天数、库存周转率和安全库存如何计算和设定?
  • 福建省建设监理公司网站wordpress 变小程序
  • AI动画创作新工具OiiOii:多Agent系统详解与应用实践
  • LeetCode 面试经典 150_二叉树_填充每个节点的下一个右侧节点指针 II(73_117_C++_中等)(BFS)
  • 玩转 CANN:在 Notebook 中实战 Python 版 ResNet-50
  • 深圳网站建设top028公众号怎么做网站
  • 关于未备案网站网站属性
  • Distributed Architecture: 分布式服务架构演进
  • WPS PPT模板中心:免费模板的查找与使用!
  • Qt 内存管理---创建对象
  • 单页网站还能用吗哪个网站做照片书最好看
  • C语言编译程序与优化技术解析
  • 淄博市住房和城乡建设局官方网站3d模型网