数学建模社区-数学中国
标题:
谭浩强书上的课后习题水仙花数,求解
[打印本页]
作者:
kill2345
时间:
2013-8-10 11:42
标题:
谭浩强书上的课后习题水仙花数,求解
本帖最后由 kill2345 于 2013-8-10 12:00 编辑
% i0 o3 L7 a; _ E/ u4 F
& J" t* O. R4 `0 C5 d% S
自学c,正在看谭浩强的《C程序设计》,遇到一个题不会,请教
6 ^- Z0 A# B( O% M6 b6 @* y$ v
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为
/ y/ J: \" |7 W
153=1[sup]3[/sup]+5[sup]3[/sup]+3[sup]3[/sup]。
作者:
wangzheng3056
时间:
2013-8-10 11:59
赶快上来抢点体力!
作者:
wangzheng3056
时间:
2013-8-10 12:00
楼主试试, 你可以任意输入n个数,只要不超出int型的范围就行了
#include<stdio.h>
% x: f; U$ b6 z& W
int pow(int x,int y)
9 v' X4 q7 J& J" a3 B9 a( m: y) ]2 b" T
{
+ n8 P& m/ O2 M, Z
int num=1,i;
d; E& ^: w, }8 T
for(i=0;i<y;i++)
- P( W$ u6 j- H0 p
{
# S3 w9 n/ w6 e B; N. M
num *= x;
0 z7 U( c4 [. K! |/ `9 S
}
$ N) x( \7 } R& ^! U( x. @1 b% i
return num;
, P/ c6 z. g1 W% E2 J
}
9 a. S' j' m$ H
void main()
0 @3 a2 G) `8 q% l. ?- x
{
: l7 s" V& }# E8 i4 C: v
int num,temp,i,count=1,number;
9 ~" T% d1 F( ]6 L% n$ j# f5 |
int temp1;
& ~3 z) j! S* u- Q. `
scanf("%d",&num);
+ M; w5 b% E9 \5 _2 d9 }1 V; o
number = num;
' i; q9 J4 ?# Q. `2 o$ h2 [6 A
for(i = 10 ; num/i ; i*=10)//记录一下num的位数
: M% K7 Y6 `4 q8 W9 _( Z# Z0 B
{count++;}
W1 y: h) V% A
//将number所有位数分离
1 G' P% ^+ i# g) m
temp = pow(num%10,count);
3 V9 O( }# `' O; g7 M- v& y, ]
for(i = count -1 ; i>0 ; i-- )
/ C" a$ U2 o/ ?8 ^. `0 G9 S8 I- k
{
" ?- X" U. H( O0 Z/ H4 Z
temp1 = num / pow(10,i);
! d9 Z) ?4 v( D1 Y! |
temp += pow(temp1,count);
8 B* R1 d1 Y- l- i
num = num - pow(10,i)* (num / pow(10,i));
/ d2 A& r% @; o- H2 v
}
" E" B5 k* g6 u$ X* @
if(temp == number)
3 M# O" I- m7 f- C) P
printf("yes");
9 x% A& u$ `1 T0 x6 Q1 w1 F
else
' Z& Z! n" V" \' `5 J
printf("no");
1 C1 M4 h* c# F3 m3 ^
}
复制代码
作者:
wangzheng3056
时间:
2013-8-10 12:01
太高兴了,总算有人进来问问题了
作者:
wangzheng3056
时间:
2013-8-10 12:01
刷屏程序开始
作者:
wangzheng3056
时间:
2013-8-10 12:02
刷频,刷频,刷屏
作者:
magic2728
时间:
2013-8-10 17:29
三层循环,三个数位分别从0~9,注意排除非三位数情况,验证结果是否符合就行了。楼主自己敲一下代码吧,只有亲自动手才能发现问题的细节处,精妙处,加油!有不懂的欢迎再来提问!
作者:
ゞ★人才涛涛
时间:
2013-8-11 20:22
楼主要问的是什么
作者:
ゞ★人才涛涛
时间:
2013-8-11 20:22
撒旦发射点发速度发生的发打算
作者:
kill2345
时间:
2013-8-12 10:17
ゞ★人才涛涛 发表于 2013-8-11 20:22
$ o! T% ~8 \% K3 ^
撒旦发射点发速度发生的发打算
0 c3 j( t0 }$ m9 p3 p7 f% x
难道楼上是来灌水的吗?
作者:
仰望0712
时间:
2013-8-12 16:51
#include<stdio.h>void main(){ int i,j,k,n; for(i=1;i<10;i++) for(j=0;j<10;j++) for(k=0;k<10;k++) { n=i*100+j*10+k; if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k))) printf("水仙花数为:%d\n",n); }}
作者:
Summershumo
时间:
2013-8-15 16:55
顶一下,,,,,,,,,,,,
作者:
jack_lvzheng
时间:
2013-11-3 10:16
while(1)
+ _. Z0 q4 \3 ?5 s6 t9 v
发表回复();
作者:
jack_lvzheng
时间:
2013-11-3 10:17
while(1)
6 A }0 |- ?6 M9 i
发表回复();
作者:
lvzh2
时间:
2014-1-20 10:05
网上都有源码的。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5