#include <stdio.h>
#include <math.h>
int sushu(int N);
int main()
{
int i, N, a;
scanf_s("%d", &N);
for (i = 2; i <= N; i++)//輸出素數
{
a = sushu(N);
if (a)
printf("%d\n", i);
}
return 0;
}
int sushu(int N)//判斷素數
{
int a;
if (N < 2)
return 0;
for (a = 2; a <= sqrt(N); a++)
{
if (N%a == 0)
return 0;
else
continue;
}
return 1;
}
為什么輸入100沒反應
uj5u.com熱心網友回復:
錯誤修改如下,供參考:#include <stdio.h>
#include <math.h>
int sushu(int N);
int main(int argc, char* argv[])
{
int i, N, a;
scanf_s("%d", &N);
for (i = 2; i <= N; i++)//輸出素數
{
a = sushu(i); //a = sushu(N); z這里錯誤
if (a)
printf("%d\n", i);
}
system("pause");
return 0;
}
//---------------------------------------------------------------------------
int sushu(int N)//判斷素數
{
int a;
if (N < 2)
return 0;
for (a = 2; a <= sqrt(N); a++)
{
if (N%a == 0)
return 0;
else
continue;
}
return 1;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236693.html
標籤:新手樂園
