鱼C论坛

 找回密码
 立即注册
查看: 1034|回复: 2

[已解决]编译没过,不知道啥问题

[复制链接]
发表于 2020-10-25 10:12:17 | 显示全部楼层 |阅读模式

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

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

x


  1. #include<stdio.h>
  2. #include<math.h>
  3. int main(){
  4.     int a, b, c, d, e, t, num;
  5.     int cnt = 0;
  6.     while (scanf("%d %d", &a, &b) != EOF){
  7.         for (num = a; num <= b; ++num){
  8.             t = num;
  9.             c = t % 10;
  10.             t /= 10;
  11.             d = t % 10;
  12.             t /= 10;
  13.             e = t % 10;
  14.             if (num == c*c*c+ d*d*d + e*e*e){
  15.                 cnt++;
  16.                 if (cnt == 1)
  17.                     printf("%d", num);
  18.                 else if (cnt > 1)
  19.                     printf(" %d", num);
  20.             }
  21.         }
  22.         if (cnt==0)
  23.             printf("no\n");
  24.         else
  25.             printf("\n");
  26.         }
  27.             
  28.     return 0;
  29. }



  30.    
复制代码
最佳答案
2020-10-25 11:15:15
从你的程序第16行来看,你的目的应该是输出水仙花数我没时间了,要去上班了,给你一个输出水仙花数的程序作参考吧:


  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int bai, shi, ge, n;
  5.     printf("result is: ");
  6.     for(n = 100;n < 1000;n++ )  /*整数的取值范围*/
  7.     {
  8.         bai = n / 100;
  9.         shi = (n - bai * 100) / 10;
  10.         ge = n % 10;
  11.         if(n == bai * bai * bai + shi * shi * shi + ge * ge * ge)  /*各位上的立方和是否与原数n相等*/
  12.             printf("%d  ", n);
  13.     }
  14.     printf("\n");
  15.    
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-10-25 11:03:16 | 显示全部楼层
本帖最后由 风过无痕1989 于 2020-10-25 11:09 编辑

在 VC++6.0 中编译通过,此程序是个死循环 (while 相当于没有终止条件,因为 EOF 是不能通过键盘或其他输入设备输入的 ),我输入了10次,都因为执行了 if (cnt==0) 输出都是 no
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-25 11:15:15 | 显示全部楼层    本楼为最佳答案   
从你的程序第16行来看,你的目的应该是输出水仙花数我没时间了,要去上班了,给你一个输出水仙花数的程序作参考吧:


  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int bai, shi, ge, n;
  5.     printf("result is: ");
  6.     for(n = 100;n < 1000;n++ )  /*整数的取值范围*/
  7.     {
  8.         bai = n / 100;
  9.         shi = (n - bai * 100) / 10;
  10.         ge = n % 10;
  11.         if(n == bai * bai * bai + shi * shi * shi + ge * ge * ge)  /*各位上的立方和是否与原数n相等*/
  12.             printf("%d  ", n);
  13.     }
  14.     printf("\n");
  15.    
  16.     return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-4 14:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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