C语言题:编写判断一个数是否是素数的函数prime(n),然后在主函数里调用实现。

2024-11-06 13:32:20
推荐回答(2个)
回答1:

#include

int prime(int a);

void main(void)

{

int InputNumber;

int ReturnNumber;

printf("Please input a number:");

scanf("%d",&InputNumber);

ReturnNumber = prime(InputNumber);

if(ReturnNumber == 0)

printf("The number is a prime\n");

else if(ReturnNumber == 1)

printf("The number is not a prime\n");

return ;

}

int prime(int a)

{

int divisor;

int remainder;

for(divisor = 2; divisor < a; divisor ++)

{

remainder = a%divisor;

if(remainder == 0 )

{

break;

}

}

if(divisor == a)

return 0;

if(divisor != a || a == 1)

return 1;

}

扩展资料:

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、输入的参数是变量的地址,所以要在变量前面加&。

回答2:

#include  //主函数在后,头文件要在前
void prime(int a)
{
int m;
for(m=2;m<=a;m++) //注意m从2开始
if(a%m==0) break;
if(m<=a-1) printf("%d不是素数\n\n\n",a);
else printf("%d是素数\n\n\n",a);
}
void main()
{while(9){
int i,a;

printf("请输入一个整数:");
scanf("%d",&a);
prime(a);}
}