QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 715|回复: 7

我又来请教算法了!:)谢谢各位兄弟!:)

[复制链接]
发表于 2004-11-1 19:01:55 | 显示全部楼层 |阅读模式
让我打印所由"水仙花"数:
"水仙花数"就是一个三位数,其各位数字立方和等于这个数本身,例如153="1"的三次方+"5"的三次方+"3"的三次方.
我的代码是:[code:1]#include <math.h>
main()
{
int a,b,c,d;
for(a=100;a<=999;a++)
      {
       b=a/100;
       c=a%10/10;
       d=a%10;
       if(a==int pow(int b,int 3)+int pow(int c,int 3)+int pow(int d,int 3))
       printf("%d\n",a);
      }   
}
[/code:1]
编译结果是:
[code:1][fydream@fydream yuandaima]$ gcc -o fy 66.c
66.c: In function `main':
66.c:10: error: syntax error before "int"
66.c:14:1: warning: no newline at end of file[/code:1]
难道是我用"POW"用错了?
这是我该后的源码:
[code:1]#include <math.h>
main()
{
int a,b,c,d;
for(a=100;a<=999;a++)
      {
       b=a/100;
       c=a%10/10;
       d=a%10;
       if(a==b*b*b+c*c*c+d*d*d)
       printf("%d\n",a);
      }   
}
[/code:1]
这次编译倒是通过了,但是运行,只显示了一个"水仙花数"我要得是全部的"水仙花数"呀,看我的编译运行结果:
[code:1][fydream@fydream yuandaima]$ gcc -o fy 66.c
66.c:14:1: warning: no newline at end of file
[fydream@fydream yuandaima]$ ./fy
407
[fydream@fydream yuandaima]$[/code:1]
请兄弟们帮忙呀!谢谢了!
顺便在问一下输入法的问题在哪里提问呢?
发表于 2004-11-1 20:41:20 | 显示全部楼层
c=a%100/10;
回复

使用道具 举报

 楼主| 发表于 2004-11-1 21:04:48 | 显示全部楼层
欧!好了!确实是这个问题!谢谢你老兄!还有我第一个源码中用的到的POW函数,使用的不正确么?请指正!谢谢!
回复

使用道具 举报

发表于 2004-11-1 21:20:57 | 显示全部楼层
把int用括弧括起来,int b和(int) b不一样的。
回复

使用道具 举报

 楼主| 发表于 2004-11-1 21:30:44 | 显示全部楼层
好的!谢谢你!我试一下!
回复

使用道具 举报

 楼主| 发表于 2004-11-1 21:40:24 | 显示全部楼层
(int)是强制转换吧!我试了!不行还是提示错误!
[code:1]#include <math.h>
main()
{
int a,b,c,d,f;
for(a=100;a<=999;a++)
      {
       b=a/100;
       c=a%100/10;
       d=a%10;
       f=3;
       if(a==(int) pow ((int) b,(int) f)+(int) pow ((int) c,(int) f)+(int) pow ((int) d,(int) f))
       printf("%d\n",a);
      }   
}[/code:1]
编译结果:
[code:1][fydream@fydream yuandaima]$ gcc -o fy 66shiyan.c
/tmp/ccwf2W1X.o(.text+0xbe): In function `main':
: undefined reference to `pow'
/tmp/ccwf2W1X.o(.text+0xf3): In function `main':
: undefined reference to `pow'
/tmp/ccwf2W1X.o(.text+0x12a): In function `main':
: undefined reference to `pow'
collect2: ld returned 1 exit status
[fydream@fydream yuandaima]$[/code:1]
请指教!谢谢!
回复

使用道具 举报

发表于 2004-11-1 22:29:39 | 显示全部楼层
pow是数学函数,编译时要加-lm
回复

使用道具 举报

 楼主| 发表于 2004-11-2 12:44:30 | 显示全部楼层
欧!知道了!我记得你早就说过!谢谢你!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 05:25 , Processed in 0.047652 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表