输入一个正整数n,判断n是否是素数。 5
#include<stdio.h>
#include<math.h>
int zshu(int x)//判断x是不是素数。zshu代表素数,即质数。
{
int i;
i=2;
if(x==2)//x是素数 。
return 1;
else if(x==1)//x不是素数 。
return 0;
else
{
while(i<x)
{
if(x%i==0)
{
break;
return 0;//x不是素数 。
}
i++;
if(i>=x)
return 1;//x是素数 。
}
}
}
int main()//主函数。
{
int N;//N一个正整数N。
scanf("%d",&N);
int a[1000];//定义数组,便于储存N个数。
int j;
for(j=0;j<N;j++)
scanf("%d",&a[j]);
for(j=0;j<N;j++)
{
if(zshu(a[j])==1)
printf("Yes\n");//是素数。
if(zshu(a[j])==0)
printf("No\n");//不是素数。
}
}
扩展资料:
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、输入的参数是变量的地址,所以要在变量前面加&。
int main()
{
int i,j,n;
n=scanf("%d",&i);
while( n != 0)//只要不输入0,就一直循环
{
for(j=2;j<=n/2;j++)
{
if(n%j==0) break;
if(j>n/2) printf("%d是素数",n);
else printf("%d不是素数",n);
n=scanf("%d",&i);
}
这是c语言的,估计你才开始学编程吧?
#include<cmath>
using namespace std;
int main()
{
int m,n,k;
cout<<"请输入一个数:";
cin>>m;
k=sqrt(m);
for(n=2;n<k;n++)
if(m%n==0) break;
if(m<=k)
cout<<"No\n";
else
cout<<"Yes\n";
return 0;
}
f:boolean;
begin
readln(n);
j:=2;f:=true;
while (j<=trunc(sqrt(n)))and f do
if n mod j=0 then f:=false
else inc(j);
if f then writeln('yes') else writeln('false');
readln;
end.
int main(void)
{
int i,n,a=0;
scanf("%d",&n);
for(i=2;i<n;i++)
{
if(n%i==0)
a=1;
}
if(a==0)
printf("Yes\n");
else
printf("No\n");
return 0;
}