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

1.输入一个整数,利用函数调用方式编程,判断该数是否为素数。(素数的条件:只能被1和自身整除)2.1、假设寄存器R中的数值为1000,地址为1000的存储器中存储的数据为... 1.输入一个整数,利用函数调用方式编程,判断该数是否为素数。(素数的条件:只能被1和自身整除)
2.1、假设寄存器 R 中的数值为 1000 ,地址为 1000 的存储器中存储的数据为 2000 ,地址为 2000 的存储器中存储的数据为 3000 , PC 的值为 4000 ,问在以下寻址方式下访问到的指令操作数的值是什么?
( 1 )寄存器寻址 R
( 2 )寄存器间接寻址 ( R )
( 3 )直接寻址 1000
( 4 )存储器间接寻址 ( 1000 )
( 5 )相对寻址 -2000 ( PC )
( 6 )立即数寻址 #2000
在线等
第一题用c语言写
展开
 我来答
问明6E
高粉答主

2019-06-22 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:11.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<stdio.h>

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输出一个字符串。

匿名用户
2019-06-12
展开全部
第一题:
因有sqrt 所以需要+ math.h头文件
有scanf函数需要+_s
#include <stdio.h>
#include <math.h>
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9cbba519c3
推荐于2017-12-16 · TA获得超过768个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:168万
展开全部
第一题:
#include <stdio.h>

int prime(int a)
{
int i;
for(i=2;i<a;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编程高手团队正在招新,有意者速速行动,一起学习,一起努力!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式