鱼C论坛

 找回密码
 立即注册
查看: 803|回复: 4

[已解决]为啥输出是0

[复制链接]
发表于 2020-12-26 19:44:46 | 显示全部楼层 |阅读模式

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

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

x
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>

  5. int judge(int m)
  6. {
  7.         int c=0;
  8.         int i,j;
  9.         for(i=2;i<m;i++)
  10.         {
  11.                 if(m%i==0);
  12.                 {
  13.                 return c;
  14.                 }
  15.         }
  16.         c+=1;
  17.         return c;
  18. }

  19. int main()
  20. {
  21.         int num=0;
  22.         int i,j=1,t=0,z,a[2][1000];
  23.         a[0][0]==2;
  24.         for(i=3;i<2000;i++)
  25.         {
  26.                 z=judge(i);
  27.                 if(z==1)
  28.                 {
  29.                         a[0][j]=i;
  30.                         j++;
  31.                 }
  32.         }
  33.         for(i=0;i<1000;i++)
  34.         {
  35.                 a[1][i]=a[0][i+1]-a[0][i];
  36.         }
  37.         for(i=0;i<1000;i++)
  38.         {
  39.                 j=i;
  40.                 while(a[1][i]<1898&&t<=1000)
  41.                 {
  42.                         a[1][i]+=a[1][j+1];
  43.                         j++;
  44.                         t=j;
  45.                 }
  46.                 if(a[1][i]==1898)
  47.                         num+=1;
  48.         }
  49.         printf("%d",num);
  50.         return 0;
  51. }
复制代码
最佳答案
2020-12-26 20:02:32
本帖最后由 风过无痕1989 于 2020-12-26 20:28 编辑

第12行后面多了一个分号
第25 行应该是赋值 号吧?
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-26 20:02:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风过无痕1989 于 2020-12-26 20:28 编辑

第12行后面多了一个分号
第25 行应该是赋值 号吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-26 21:10:58 | 显示全部楼层
我调整到了第42行,后面的,因为不知道你的想法,调试起来有些困难,你自己慢慢调试吧
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>

  5. int judge(int m)           // 判断是否是素数
  6. {
  7.         int c = 0;
  8.         int i, j;
  9.         for (i = 2;i < m;i++)
  10.         {
  11.                 if (m % i == 0)          // 不是素数,返回 0
  12.                 {
  13.                         return c;
  14.                 }
  15.         }
  16.         c = 1;                       // 是素数,返回 1
  17.         return c;
  18. }

  19. int main()
  20. {
  21.         int num = 0;
  22.         int i, j = 1, t = 0, z, a[2][1000];
  23.         a[0][0] = 2;
  24.         for (i = 3;i < 2000;i++)
  25.         {
  26.                 z = judge(i);           // 调用函数判断 i 是否是素数
  27.                 if (z == 1)
  28.                 {
  29.                         a[0][j] = i;        // 是素数,将 i 存入数组
  30.                         j++;                // 存入素数个数
  31.                 }
  32.         }

  33.         z = j;                      // 将素数总数赋给变量 z
  34.         for (i = 0;i < z;i++)       // 为调试所加,输出所有的素数
  35.         {
  36.                 a[1][i] = a[0][i + 1] - a[0][i];
  37.         }
  38.        
  39.         for (i = 0;i < z;i++)
  40.         {
  41.                 j = i;
  42.                 while (a[1][i]<1898 && t <= 1000)
  43.                 {
  44.                         a[1][i] += a[1][j + 1];
  45.                         j++;
  46.                         t = j;
  47.                 }
  48.                 if (a[1][i] == 1898)
  49.                         num += 1;
  50.         }
  51.         printf("%d", num);
  52.         return 0;
  53. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-26 21:35:32 | 显示全部楼层
风过无痕1989 发表于 2020-12-26 21:10
我调整到了第42行,后面的,因为不知道你的想法,调试起来有些困难,你自己慢慢调试吧

啧,就是你说的那个问题呀,最近写程序老是犯这样的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-26 21:44:16 | 显示全部楼层
一世轻尘 发表于 2020-12-26 21:35
啧,就是你说的那个问题呀,最近写程序老是犯这样的问题

我上面的程序帖子,帮你将循环变量的上限改了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 02:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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