#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
const int n;
scanf_s("%d", &n);
int isp[n+1] = { 0 };
int i, j;
if (n > 1)
{
for (i = 2; i <= n; i++)
{
if (isp[i] == 0)
for (j = 2 * i; j <= n; j += i)
{
isp[j] = 1;
}
}
for (i = 2; i <= n; i++)
{
if (isp[i] == 0)
printf(" % d,", i);
}
}
else {
printf("error");
}
system("pause");
return 0;
}
printf(" % d,", i);
改成
printf("%d,", i);
你题目的解答代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n;
scanf_s("%d", &n);
int isp[n + 1];
int i, j;
for (i = 0; i <= n; i++)
isp[i] = 0;
if (n > 1)
{
for (i = 2; i <= n; i++)
{
if (isp[i] == 0)
for (j = 2 * i; j <= n; j += i)
{
isp[j] = 1;
}
}
for (i = 2; i <= n; i++)
{
if (isp[i] == 0)
printf("%d,", i);
}
}
else
{
printf("error");
}
system("pause");
return 0;
}
如有帮助,望采纳!谢谢!
麻烦贴出来报的错