用C语言循环结构编写:输入一个数,判断该数是否为素数。

如题所述

#include<stdio.h>

int main()

{

int n;

int i;

scanf("%d",&n);

if(n<2)

printf("This is not a prime.\n");

else if(n==2)

printf("This is a prime.\n");

else

{

for(i=2;i<n;i++)

{

if(n%i==0)

break;

}

if(i==n)

printf("This is a prime.\n");

else

printf("This is not a prime.\n");

}

return 0;

}

扩展资料:

scanf()用法:

输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。

scanf("%s",s);改为scanf("%s",&s);

scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);

格式控制字符串包含:格式控制说明,普通字符。

1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)

2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。

3、输入的参数是变量的地址,所以要在变量前面加&。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-26
bool IsPrime(int x)
{
    int k=(int)sqrt((double)x)+1;
    for(int i=2;i<=k;i++)
    {
        if(x%i==0)
            return false;
    }
    return true;
}

第2个回答  推荐于2018-05-14
#include <stdio.h>
void main()
{
int n,half;
printf("请输入一个整数n:");
scanf("%d",&n);
half=n/2;
for(int i=2;i<=half;i++)
if(n%i==0)
{
printf("该数不是素数");
break;
}
if(i>half)
printf("该数是素数");
}
(我在VC6.0上编的,自己运行过了,希望对你有用^_^)本回答被网友采纳
第3个回答  2011-04-20
#include <stdio.h>
void main()
{ int n,s,i,k;
printf("n=?"); //在屏幕上提示"n=?"
scanf("%d",&n); //在屏幕上等待键盘输入到n中
i=2;
s=1;

while (i<=n)
{for (s=2;s<=i-1;s++)
if (i%s==0) break;

if (s>=i-1) printf("%d ",i);
i++;
}
}

先判断,再用if语句就行了
第4个回答  2011-04-20
#include<stdio.h>
int main()
{
int i=2;
int n;
printf("请输入一整数:");
scanf("%d",&n);
while(i<n/2)
{
if(n%i==0)
{
pritnf("%d不是素数\n",i);
break;
}
i++;
}
if(i>=n/2)
printf("%d是素数",n);
return 0;
}