慕仰0486798
2017-07-26 00:23
for(num = 100 ; num < 1000;num++)
hd = num/100; td = num/10%10 ;
sd = num%10 ;
if(num = hd * hd * hd + sd * sd * sd + td * td *td)
{ printf("水仙花数字:%d\n", num);
输出的是 水仙花数字:1 水仙花数字:8 水仙花数字:729 水仙花数字:370 水仙花数字:371 水仙花数字:378 水仙花数字:1099 哪个大神看看哪里错了 为啥会这样啊
if的括号里面应该是逻辑判断语句,“=”是赋值符号,“==”是逻辑判断符号
找到原因了 是因为我num = hd * hd * hd + sd * sd * sd + td * td *td这句不应该打=,应该是==
你把十位的表达式写成 td=(num-hd*100)/10 试试
这回复是不是有问题啊,为啥缺几个字符,很让人误解
十位和个位上的数字取值有问题,应该是td=num/10%10,sd=num%10才对
C语言入门
926210 学习 · 20797 问题
相似问题