最佳回答
最新回答共有4条回答
-
2026-04-02 09:28:05哭泣的面包
回复#include
#include void main () { int x,i,j; for(i=2;i<100;i++) {1 x=1; for(j=2;j<=sqrt(i);j++) if (i%j==0) { x=0; break; } if (x) printf ("%d\n",i); } }
-
2026-04-02 09:28:05活泼的柜子
回复#include
#include main() { int m,i,k,h=0,leap=1; printf("\n"); for(m=2;m<=100;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;} if(leap) {printf("%-4d",m);h++; //打印素数 if(h%10==0) printf("\n"); } leap=1; } printf("\nThe total is %d",h); //打印素数总数 }
-
2026-04-02 09:28:05呆萌的戒指
回复楼主大括号都未能匹配,{有两个,}有三个,编译就通过不了的。 刚写了份代码,已调试通过,供楼主参考: #include main(void) { int i,t; for(i=1; i<=100; i++) { if(i == 1) continue; if(i == 2) { printf("%d,",i); continue; } for(t=2; t <= i/2; t++) { if((i%t) == 0) break; } if(t > i/2) { printf("%d,",i); } } printf("\n"); return 0; } 输出的结果为:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97, 再说说楼主代码中一些错误: 1.之前提到编译上就不能通过。{和}个数未能匹配。 2. if(100%i!=0) break; 该语句的含义是100除以i的余数不等于0则跳出循环,当为1时,就已经跳出循环了。而且这对于质素的判断是毫无意义的,可以删除。 3. for(t=1;t<=i;t++) 质数的判断的话,t应该是从2开始计数的,否则i%1肯定是等于0的。应修改为for(t=2; t<=i; t++)。此外,这里可以参考我的代码,t<=i/2即可,用以提高提升效率。 希望对楼主有所帮助。谢谢。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
