c 水仙花数数判断错误

C语言判断水仙花数题目。_百度知道
C语言判断水仙花数题目。
如果一个n位数的每个数位的n次方和就是本身,那么我们称这种数为“水仙花数”。比如371,33+73+13=27+343+1 = 371。现给你一个数,请求这个数是否是水仙花数。
有多组样例。每个样例占一行,为一个整数a(1&=a &=1,000,000),如果a为 0,那么...
我有更好的答案
#include&stdio.h&#include&math.h&//第一,养成变量初始化的好习惯。变量声明后记得要初始化。//第二,while条件里面貌似是不能写输入语句的,你完全可以提出来写。//第三,取出n的每一位的算法可以用取余代替你的减法。比如371,首位371/100,第二位371%10/10,第三位371%10。int main(){ int a,b,c,d,e,f=0;
//初始化 double k,i,j=0; int n=0; //声明位数 double g=0; scanf(&%lf&,&k);
//从键盘读取 scanf(&%d&,&n); // 手动获取位数
//while (scanf(&%d&,&k)&&k)
//不能这么写,而且可以去掉
a = i/100000;
//单行注释是双斜杠/求i的十万分位/
b=(i-100000*a)/10000;
c=(i-100000*a-10000*b)/1000;
d=(i-100000*a-10000*b-1000*c)/100;
e=(i-100000*a-10000*b-1000*c-d*100)/10;
f=i-100000*a-10000*b-1000*c-d*100-e*10;
j=pow(a,n)+pow(b,n)+pow(c,n)+pow(d,n)+pow(e,n)+pow(f,n);
//g=(double)
//g前面已经声明过了
printf(&Yes\n&);
printf(&No\n&);
// } return 0;}你这程序改的我心累~ 还有很多可优化的地方 自己慢慢学吧
采纳率:58%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。输入一个三位整数,判断其是否是水仙花数。_百度知道
输入一个三位整数,判断其是否是水仙花数。
要求:若输入的不是三位整数,请给出错误提示信息。
我有更好的答案
#include&&stdio.h&void&main(){int&n,k,m,s=0;scanf(&%d&,&n);if(n&100||n&999)printf(&Input&error!&);else{k=n;while(k){m=k%10;s+=m*m*m;k/=10;}s==n?printf(&YES&):printf(&NO&);}}
采纳率:78%
来自团队:
//提示:153 370 371 407 是水仙花数 #include&stdio.h& void main() { int i,j,k,n; printf(&请输入一个三位整数\n&); scanf(&%d&,&n); i=n/100; /*分解出百位*/ j=n/10%10; /*分解出十位*/ k=n%10; /*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf(&%-5d是水仙花数&,n); } else { printf(&%-5d不是水仙花数&,n); } printf(&\n&); }
~
本回答被提问者采纳
为您推荐:
其他类似问题
水仙花数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。来时不惧风雨,去时何谓人言。
java编程基础篇 --& 从键盘输入一个整数(1 个 3 位整数),判断其是不是水仙花数。所谓“水仙花数”是 指一个 3 位数,其各位数字立方和等于该数本身。
从键盘输入一个整数(1 个 3 位整数),判断其是不是水仙花数。所谓“水仙花数”是
指一个 3 位数,其各位数字立方和等于该数本身。例如,153 是一个“水仙花数”,因为
153=13+53+33。
package Exam01;
import java.util.S
public class Topic02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//三个任意整数
int bai,shi,
Scanner input=new Scanner(System.in);
System.out.print("请输入一个3位整数:");
num = input.nextInt();
bai = num / 100;
shi = num % 100 /10;
ge = num %10;
double result = Math.pow(bai, 3)+Math.pow(shi, 3)+Math.pow(ge, 3);
if(result == num){
System.out.println(num+"是水仙花数");
System.out.println(num+"不是水仙花数");
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
C++编程:水仙花数判断水仙花数是一个三位数,其各位数字立方和等于数本身。例如,153是一个水仙花数,因为153= 。你的任务是判断一个数n是否是水仙花数。输入输入文件有若干行,每一行上有一个整数n,(1<=n<=999)。 输出输出文件有若干行。对输入文件中的每个整数n,在一行上输出“YES”或“NO”,如果数n是水仙花数,那么输出“YES”,否则输出“NO”。输入样例153100 输出样例YESNO请注意用c或c++还有是连续输入后连续输出:YESNO“153和100”输入之后再按个回车说明输入文件结束。谢谢请格式规范
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
像你说的那样,在输入完153之后的回车和100之后的回车系统是不会自动判断结束的,通常是输入一个文件结束字符,^Z也就是ctrl+Z。#include void main(){int number[100],i=0,a,b,c;do{ scanf("%d",&number[i]);
i++;}while(number[i-1]!=EOF);i=0;while(number[i]!=EOF){ a=number[i]/100;
b=(number[i]-a*100)/10;
c=number[i]-a*100-b*10;
if(number[i]==a*a*a+b*b*b+c*c*c)
printf("YES\n");else
printf("NO\n");i++;}}
为您推荐:
扫描下载二维码扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
c语言判断水仙花数输入一个三位整数,判断它是否为水仙花数。当输入数据不正确时,要求给出错误提示。说明:水仙花数是一个三位数,其各位数的立方之和等于该数本身,如153=13+53+33。
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
有两种办法,第一,水仙花数很少,三位数的没几个,直接判断是不是那几个就行了。然后正确的思路是,把三位数拆开。这个三位数是num,三位立方和为ans的话,ans初始为0,之后while(num>0){temp = num%10;ans
= temp *temp *num /= 10;}最后比较ans和一开始的num就行了,注意是一开始的那个。输入的时候把那个数记录一下就行了。
为您推荐:
扫描下载二维码}

我要回帖

更多关于 python 水仙花数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信