关于循环的问题,求大佬指点
问题是求100到400所有的素数,要求每输出5个换行。程序代码:
#include<stdio.h> #include<math.h> int main() { int n, k, i, m = 0; for (n = 101; n <= 400; n = n + 2) { k = sqrt(n); for (i = 2; i <= k; i++) if (n % i == 0) break; if (i >= k + 1) { printf("%-4d", n); m = m + 1; } if (m % 5 == 0)printf("\n"); } printf("\n"); }
输出结果是这样的:
我找到了解决的方法,把最后一个if语句纳入上一个if语句内即可。但如果依照错误的代码,每一行最后一个数和下一行第一个数中间差了几个数就应该输出几个\n,图里的结果却不是这样,求大佬指点。