题目
编程实现如下功能:依次打印出1~100,遇到素数折行。效果如下:
解题思路
- 打印1~100的数字,遇见素数打印“\n”;
- 那么如何判断素数:
将需判断数字和比它小的数字相除(不包括1),如果相除结果中没有整数,那么它为素数。
源码
#include <stdio.h>
void main()
{
int i, j;
for (i = 1; i <= 100; i++)
{
printf("%-3d", i);
for (j = 2; j <= i; j++)
{
if (j == i)
printf("\n");
if (i%j == 0)
break;
}
}
printf("\n");
}
执行结果
总结
1.用到了不常用的break,相比“筛选法”节省了很多步骤。
2.注意两个 if 判断的顺序,否则结果会break掉打印不出"\n"。