鱼C论坛

 找回密码
 立即注册
查看: 1263|回复: 6

[已解决]c语言,第一阶段测试题,常量定义报错

[复制链接]
发表于 2020-6-20 17:06:33 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 猪猪虾 于 2020-6-20 17:07 编辑

我不定义常量,直接给变量赋值,也错,难道是太大了,超出了数组索引范围
错误提示:unexpected identifier before numeric constant
目前code只是想求出范围内所有的素数

  1. //编写一个程序,求解 600851475143 的最大质数因子是多少?
  2. //每个合数都可以写成几个质数(素数)相乘的形式,这几个质数就都叫做这个合数的质数因子
  3. //比如 13195 的质数因子有 5, 7, 13 和 29
  4. #include <stdio.h>
  5. #include <string.h>
  6. #define NUM 600851475143
  7. int main()
  8. {
  9.         long long int i,j = 0,su_shu = [NUM/2],num;
  10.          
  11.         do
  12.         {
  13.                 num++;
  14.                 //一个一个的进行判断
  15.             for(i=2;i<=(num/2);i++)
  16.             {
  17.                     if ((num % i) == 0)
  18.                     {
  19.                             break;
  20.                         }       
  21.                         else if (i == (num/2))  //判断是否循环一直进行到底,若到底了,说明中途没有Break
  22.                         {
  23.                                 su_shu[j];       
  24.                                 j += 1;
  25.                         }
  26.                           
  27.                 }               
  28.         }while(num <= (NUM /2);
  29.         printf("%lld",su_shu)
  30.     return 0;
  31. }
复制代码
最佳答案
2020-6-21 08:16:51
猪猪虾 发表于 2020-6-21 08:09
啊,低级错误,,,我慢慢改,可是常量定义为什么报错

su_shu = [NUM/2] 应该是 su_shu[NUM/2]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-6-20 17:10:29 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 17:13:04 | 显示全部楼层
大量低级错误。
IDE 用不起吗?
  1. //编写一个程序,求解 600851475143 的最大质数因子是多少?
  2. //每个合数都可以写成几个质数(素数)相乘的形式,这几个质数就都叫做这个合数的质数因子
  3. //比如 13195 的质数因子有 5, 7, 13 和 29
  4. #include <stdio.h>
  5. #include <string.h>
  6. #define NUM 600851475143

  7. int main()
  8. {
  9.     long long int i, j = 0, su_shu[NUM / 2], num;

  10.     do
  11.     {
  12.         num++;
  13.         //一个一个的进行判断
  14.         for (i = 2; i <= (num / 2); i++)
  15.         {
  16.             if ((num % i) == 0)
  17.             {
  18.                 break;
  19.             }
  20.             else if (i == (num / 2))  //判断是否循环一直进行到底,若到底了,说明中途没有Break
  21.             {
  22.                 su_shu[j];
  23.                 j += 1;
  24.             }

  25.         }
  26.     } while (num <= (NUM / 2));
  27.     printf("%lld", su_shu);
  28.     return 0;
  29. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 17:13:48 | 显示全部楼层
顺便一提,数组太大。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-21 08:09:52 | 显示全部楼层

啊,低级错误,,,我慢慢改,可是常量定义为什么报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-21 08:16:51 | 显示全部楼层    本楼为最佳答案   
猪猪虾 发表于 2020-6-21 08:09
啊,低级错误,,,我慢慢改,可是常量定义为什么报错

su_shu = [NUM/2] 应该是 su_shu[NUM/2]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-21 08:54:26 | 显示全部楼层
num没赋值 就敢num++。你说错不错。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-6 02:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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