全部问题 > 当前问题

include <stdio.h> int fun(int n) { int i,j, count=0; printf("\nThe prime number between 3 to %d\n", n); for (i=3; i<=n; i++) { /**********found**********/ for (j=2; j<i; j++) /**********found**********/ if (i%j == 0) break; /**********found**********/ if (j>=i) { count++; printf( count%15? "%5d":"\n%5d",i); } } return count; } main() { int n=20, r; r = fun(n); printf("\nThe number of prime is : %d\n", r); }

这个最后j>=i是为什么  不应该是j=i么因为当i是素数的时候,到i的前一个数都没法整除所以j=i

小青年 2015-9-9 17:06:22

共 16 个回答

嘿嘿大人 2015-9-9 17:11:28

你说的是正确的,你把它改成==也是可以的,我想题目的意思可能是包括了等于的意思就行了,

小青年 2015-9-10 11:53:57

回复 嘿嘿大人:但是我运行的时候不对啊


小青年 2015-9-10 11:54:25
嘿嘿大人 2015-9-10 12:01:07

回复 小青年:不对?应该是对的,你得完整程序段是什么,还有这个是什么意思 printf( count%15? "%5d":"\n%5d",i);

小青年 2015-9-10 12:04:15

题目上给的 让我填空 后面的主函数题目上就有

小青年 2015-9-10 12:04:27

回复 嘿嘿大人题目上给的 让我填空 后面的主函数题目上就有

嘿嘿大人 2015-9-10 12:07:03

回复 小青年

#include <stdio.h> 

int fun(int n) 

{ int i,j, count=0; 

printf("\nThe prime number between 3 to %d\n", n);

 for (i=3; i<=n; i++) 

 { 

/**********found**********/ 

for (j=2; j<i; j++) 

/**********found**********/ 

if (i%j == 0) break;

/**********found**********/ 

if (j==i) 

count++; 

printf( count%15? "%5d":"\n%5d",i);

} return count;

 } 

main() 

{ int n=20, r;

 r = fun(n);

 printf("\nThe number of prime is : %d\n", r);

 }

不乱说,如果是题目这个的话,我修改了之后都能运行,且答案是一样的

小青年 2015-9-10 12:09:58

回复 嘿嘿大人:为嘛我的运行之后是3到20全部输出出来


小青年 2015-9-10 12:11:03

回复 嘿嘿大人

#include <stdio.h> 

int fun(int n)

 {

int i,j, count=0; 

 

printf("\nThe prime number between 3 to %d\n", n); 

  for (i=3; i<=n; i++) 

{ /**********found**********/ 

  for (j=2; j<i; j++)

 /**********found**********/ 

 if (i%j == 0) break;

 /**********found**********/

 if (j=i)

 { count++; 

 printf( count%15? "%5d":"\n%5d",i); }

 } 

  return count; } 

main()

 { int n=20, r; r = fun(n); printf("\nThe number of prime is : %d\n", r); }


嘿嘿大人 2015-9-10 12:11:28

回复 小青年blob.png

用我的程序试一试也

小青年 2015-9-10 12:12:17

回复 嘿嘿大人:我试过了缺失行  不过我的不行不知道为嘛

嘿嘿大人 2015-9-10 12:12:29

回复 小青年  if (j=i)是逻辑语句,是==不是一个等号

小青年 2015-9-10 12:13:16

回复 嘿嘿大人:阴沟里翻船  我知道了 谢谢你

最佳答案

嘿嘿大人 2015-9-10 12:13:48

回复 小青年:仔细点 就好,加油吧,嘿嘿

小青年 2015-9-10 12:14:08

回复 嘿嘿大人:恩恩  谢谢

嘿嘿大人 2015-9-10 12:30:30

回复 小青年:不用谢,加油,嘿嘿

问题来自: 随机数