用c语言写:输入一个整数,利用函数调用方式编程,判断该数是否为素数。(素数的条件:只能被1和自身整除

2024-11-07 08:22:43
推荐回答(3个)
回答1:

#include<stdio.h>

int main(void)

unsignedlongnum; 

unsignedlongdiv; 

intisPrime;//素数的标志,1代表是素数,0代表不是素数

printf("Pleaseenteranintegerforanalysis.");

printf("Enterqtoquit.\n");

while(scanf("%lu",&num)==1&&num!=1)

for(div=2,isPrime=1;(div*div)<=num;div++){

if(num%div==0){//如果能被div整除

if((div*div)!=num){//约数不相等

printf("%luisdivisibleby%luand%lu.\n",num,div,num/div);

}else{//约数相同

printf("%luisdivisibleby%lu.\n",num,div);

//将isPrime设置为0,表示其不是一个素数

isPrime=0;

if(isPrime==1){

printf("%lu是素数.\n",num);

printf("Pleaseenteranotherintegerforanalysis.");

printf("Enterqtoquit.\n");

printf("Bye.\n");

return0;

运行效果:

扩展资料:

printf()函数用法:

在C语言中,有三个函数可以用来在显示器上输出数据,它们分别是:

1、puts():只能输出字符串,并且输出结束后会自动换行。

2、putchar():只能输出单个字符。

3、printf():可以输出各种类型的数据。

printf() 是最灵活、最复杂、最常用的输出函数,完全可以替代 puts() 和 putchar(),

举例:

#include

int main()

{

printf("这是我的博客:\n");

printf("www.yuanshi***.top\n");

return 0;

}

printf() 格式控制符的完整形式如下:

%[flag][width][.precision]type

[ ] 表示此处的内容可有可无,是可以省略的。

1) type 表示输出类型,比如 %d、%f、%c、%lf,type 就分别对应 d、f、c、lf;

type 这一项必须有,这意味着输出时必须要知道是什么类型。

2) width 表示最小输出宽度,也就是至少占用几个字符的位置;

首先汇总一下用到的格式控制符:

%c输出一个单一的字符

%hd、%d、%ld以十进制、有符号的形式输出 short、int、long 类型的整数

%hu、%u、%lu以十进制、无符号的形式输出 short、int、long 类型的整数

%ho、%o、%lo以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数

%hx、%x、%lx%hX、%X、%lX以十六进制、不带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字也小写;如果 X 大写,那么输出的十六进制数字也大写。

%f、%lf以十进制的形式输出 float、double 类型的小数;%e、%le%E、%lE以指数的形式输出 float、double 类型的小数。如果 e 小写,那么输出结果中的 e 也小写;如果 E 大写,那么输出结果中的 E 也大写。

%g、%lg%G、%lG以十进制和指数中较短的形式输出 float、double 类型的小数,并且小数部分的最后不会添加多余的 0。如果 g 小写,那么当以指数形式输出时 e 也小写;如果 G 大写,那么当以指数形式输出时 E 也大写。

%s输出一个字符串。

回答2:

第一题:
因有sqrt 所以需要+ math.h头文件
有scanf函数需要+_s
#include
#include
int is_prime(int n)
{
int i;
for (i = 2; i <= sqrt(n); i++)
if (n % i == 0)
return 0;
return 1;
}
int main()
{
int i;
printf("请输入一个数;\n");
scanf_s("%d", &i);
if (is_prime(i))
printf("%d是素数\n", i);
else
printf("%d不是素数\n", i);
return 0;
}

回答3:

第一题:
#include

int prime(int a)
{
int i;
for(i=2;i if(a%i==0) break;
if(i==a)return 1;
else return 0;

}

int main()
{
int a;
scanf("%d",&a);
if(prime(a)==1)printf("%d是素数!",a);
else printf("%d不是素数!!",a);

return 0;
}

第二题:
1,1000
2,2000
3,2000
4,3000
5,2000

又不明白的可以交流下!

c编程高手团队正在招新,有意者速速行动,一起学习,一起努力!!