鱼C论坛

 找回密码
 立即注册
查看: 2228|回复: 10

[已解决]萌新求问C语言

[复制链接]
发表于 2019-3-28 17:15:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include "stdio.h"
#include "math.h"
void main()
{
        double a , b , c , x ;
                while ( x <= 999 )
                {
                        a = rand()%10; b = rand()%10; c = rand()%10;
                        x = a * 100 + b * 10 + c ;
                       
                     if (x = pow( a , 3 ) + pow( b , 3 ) + pow( c , 3) )
                        printf ("%d\n" , x );
                        continue;
                }
}


帮我看看哪里有问题,,,本来想找“水仙花数”的,结果输出三个零
最佳答案
2019-3-28 17:47:22
  1. #include <stdio.h>
  2. #include <math.h>

  3. int main(){
  4.         int i;
  5.         for (i=100;i<1000;++i){
  6.                 int a=i/100;
  7.                 int b=i/10%10;
  8.                 int c=i%10;
  9.                
  10.                 if (i==pow(a,3)+pow(b,3)+pow(c,3)){
  11.                         printf("%d\n",i);
  12.                 }
  13.         }
  14. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-28 17:37:58 | 显示全部楼层
每一行都是问题


  1. #include "stdio.h"               //引用库里的文件请使用<>
  2. #include "math.h"
  3. void main()
  4. {
  5.         double a , b , c , x ;      //这里为什么是double
  6.                 while ( x <= 999 )   //X的初始值呢?
  7.                 {
  8.                         a = rand()%10; b = rand()%10; c = rand()%10;  //你这是要干啥?随机搜寻1000次?问什么不用for呢
  9.                         x = a * 100 + b * 10 + c ;                                  //所以你x到底是拿来干啥的?
  10.                         
  11.                      if (x = pow( a , 3 ) + pow( b , 3 ) + pow( c , 3) )     //这是个赋值语句,判断请用==
  12.                         printf ("%d\n" , x );
  13.                         continue;                                                           //continue是多余的
  14.                 }
  15. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-28 17:47:22 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>
  2. #include <math.h>

  3. int main(){
  4.         int i;
  5.         for (i=100;i<1000;++i){
  6.                 int a=i/100;
  7.                 int b=i/10%10;
  8.                 int c=i%10;
  9.                
  10.                 if (i==pow(a,3)+pow(b,3)+pow(c,3)){
  11.                         printf("%d\n",i);
  12.                 }
  13.         }
  14. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-28 18:28:22 | 显示全部楼层
      整数比较最好不要使用 power(),因为它会带来误差。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. int main(void)
  5. {
  6.         int d , i , k , sum                     ;
  7.         for(i = 100 ; i < 1000 ; i ++) {
  8.                 sum = 0                         ;
  9.                 k = i                           ;
  10.                 while(k) {
  11.                         d = k % 10              ;
  12.                         k = k / 10              ;
  13.                         sum += d * d * d        ;
  14.                 }
  15.                 if(sum == i) printf("%d\n" , i) ;
  16.         }
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-29 07:45:31 | 显示全部楼层
Croper 发表于 2019-3-28 17:37
每一行都是问题

谢谢批评指正!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-29 07:46:09 | 显示全部楼层
jackz007 发表于 2019-3-28 18:28
整数比较最好不要使用 power(),因为它会带来误差。

谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-29 08:13:00 | 显示全部楼层

好像不对诶,怎么把100到999所有数字都打印出来了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-29 08:13:40 | 显示全部楼层
jackz007 发表于 2019-3-28 18:28
整数比较最好不要使用 power(),因为它会带来误差。

设错最佳答案了。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-29 15:02:04 | 显示全部楼层
JHZRYS 发表于 2019-3-29 08:13
设错最佳答案了。。。

    兄弟,不要纠结,我们已经看到你的选择了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-29 15:07:28 | 显示全部楼层
JHZRYS 发表于 2019-3-29 08:13
好像不对诶,怎么把100到999所有数字都打印出来了

多半是你抄错了
把你运行的程序贴出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-29 19:08:31 | 显示全部楼层
Croper 发表于 2019-3-29 15:07
多半是你抄错了
把你运行的程序贴出来

好吧没问题。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 17:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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