用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、输入的参数是变量的地址,所以要在变量前面加&。
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;
}
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上编的,自己运行过了,希望对你有用^_^)
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语句就行了
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;
}