欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

C语言·水仙花

时间:2023-05-29
C语言·水仙花

前言说明实现思路流程图水仙花·代码·有注释水仙花·代码结语 前言说明

提前确定系数的值(代码中默认为3)。输入一个数,求出每位的y次方的总和。判断是否等于你输入的数。
如果是则为水仙花数。

实现思路

将输入的数;个位单独提出算;从十位开始;输入的数/10;使其为个位;在%10;得出此数;百位;输入的数/100;使其位个位;在%10;得出此数;千位;输入的数/1000;使其位个位;在%10;得出此数;(以此类推)即可得出每位的数再将每次得出每位的数的y次方相加;得出最后的总值。

流程图

暂无

水仙花·代码·有注释

#include #include #define y 3 int main(int argc, char* argv[]){int value_1;int value_2=1;int value_3 = 1;int value_4 = 0;int sum_1 = 0;printf("请输入你要判断水仙花的数:");scanf_s("%d", &value_1);do{value_3=value_3*10;value_4++;} while (value_1 / value_3);sum_1 = pow(value_1 % 10, y);for (value_3 = 1; value_3 < value_4; value_3++){value_2 = value_2 * 10;sum_1 = sum_1 + pow(value_1 / value_2 % 10,y);}if (sum_1 == value_1){printf("n%d经过每位数的%d次方后的总值是其本身n", value_1, y);printf("所以%d是一个水仙花数n",value_1);}else {printf("n%d经过每位数的%d次方后的总值是%dn", value_1, y, sum_1);printf("所以%d不是一个水仙花数n", value_1);}return 0;}

水仙花·代码

#include #include #define y 3 int main(int argc, char* argv[]){int value_1;int value_2=1;int value_3 = 1;int value_4 = 0;int sum_1 = 0;printf("请输入你要判断水仙花的数:");scanf_s("%d", &value_1);do{value_3=value_3*10;value_4++;} while (value_1 / value_3);sum_1 = pow(value_1 % 10, y);for (value_3 = 1; value_3 < value_4; value_3++){value_2 = value_2 * 10;sum_1 = sum_1 + pow(value_1 / value_2 % 10,y);}if (sum_1 == value_1){printf("n%d经过每位数的%d次方后的总值是其本身n", value_1, y);printf("所以%d是一个水仙花数n",value_1);}else {printf("n%d经过每位数的%d次方后的总值是%dn", value_1, y, sum_1);printf("所以%d不是一个水仙花数n", value_1);}return 0;}

结语

编程新手。此代码有错误的或者有意见的,欢迎致信!
QQ邮箱:2787485199@qq.com

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。