C语言关于语句isprime(int i),请问函数括号内还可以放int之类的函数吗?

作者&投稿:蓬闹 (若有异议请与网页底部的电邮联系)
C语言问题。编写一个函数:int isprime(int n)用于判断一个整数是否为素数,如果是就返回1,否则返回0。~

int isPrime(int num) {
int divisor = 3;
int testLimit = num;
if (num < 2)
return 0;
if ( num < 4 )
return 1;
if (num % 2 == 0)
return 0;
while ( testLimit >= divisor )
{
if ( num % divisor == 0 )
return 0;
testLimit = num / divisor;
divisor += 2;
}
return 1;
}

扩展资料:return的用法:
return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。
函数的定义一般是这样的,例如:
int a(int i)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字
{
...//省略函数体内容
return b;//b必须与函数头的返回值一致(此处为int型)
}
简单函数举例:
int addOne(int b)
{
return b+1;
}
该函数的作用是取得一个数,将这个数加上1,再将结果返回
调用时这样:
int result=addOne(2);//此时result的值为3
函数括号里的参数也可以为变量或能算出值的表达式
以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)
但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如void print()//括号中为空表示无传递参数、
{
printf("a");
printf("b");
return;//函数执行到此处结束
printf("c");
}//该函数只执行到return语句处,即屏幕上输出的为"ab"

1、isPrime 是自定义的一个函数,传入一个整数n,判断是否为素数。若是返回1,否则返回0。

2、例程及实现:
#include "stdio.h"int isprime(int a) //判断素数的函数{ int j; for(j=2;j<a;j++) if(a%j==0) //如果有因数,则不为素数 return 0; else return 1; //如果没有因数,则为素数}void main(){ int x,y; printf("请输入一个整数:"); scanf("%d",&x); y=isprime(x); if(y==0) printf("%d不是素数
",x); else printf("%d是素数
",x);}

第一个问题:函数是可以嵌套的,所以,对于语句isprime(int i),函数括号内还可以放int之类的函数,没问题。但要注意函数的返回值必须是合法的。
第二个问题:函数括号是空的isprime(),与isprime(int i)有什么区别?一般来讲,两者是不同的,一个带参数i,另一个不带参数。但很多语言规定,在声明函数时可以省略参数,而定义函数时不能省略,如下面这样是正确的:
int isprime();
int isprime(int i){
......
}
有什么问题请留言。

答:估计你在学习素数的判断。

  1. 如果函数类似是这样定义的,void isprime(),也就是说它是一个无参函数,那么你在调用时,直接使用语句isprime()即可;
  2. 如果是类似于void isprime(int a),那就是带个参数的函数,那么当你调用这个函数时,你就得传一个参数进去,举例如下:



    题目中,isprime(int i) 和isprime( )区别就是一个带有参数,你在用的时候就一定要带参数且类型一定要是int类型的。后面这个就不需要参数进行调用。

    而你说的isprime( i ),前提是i已经定义好了类型,这里只是使用。i是什么就看你定义是什么类型,那么用的时候也要固定参数的类型才能不报错。

    可以的,只要是返回值是int的函数均可作为参数传进入

    区别就是带参数和不带参数的函数的区别。带参数就是函数需要必要的参数在函数内进行运算来完成函数功能;不带参数就是函数的功能完全不需要引入外部数据就能独立完成。


    ICP,idc,isp
    企业从事:基础业务-主机托管、虚拟主机、主机租赁、机 房出租、带宽出租、IT外包等;增值业务-各种网络安全服务、 网络优化、内容分发(CDN)、数据存储、代维代管等业务需 要办理IDC许可证。ISP经营许可证全称增值电信业务经营许可证-因特网接入服务业务。所谓全网ISP证是经营全国范围的ISP资质,地网ISP证是...

    isp的课程设置
    ISP目前设置了两种课程,分别为:国际预科课程(IFY,international Foundation Year)硕士预科课程(PMP, Pre-Master Program)所有专业课程以及英语学习技巧课程均由外教教授。同时,ISP为学生提供雅思或托福,GMAT,SAT或ACT方面的培训(根据学生的个人情况和未来留学要求来提供),旨在全面提升学生海外留学的...

    如何应对ISP流量劫持
    3.Worm\/Fujack.aa“网页蛀虫”变种aa Worm\/Fujack.aa“网页蛀虫”变种aa是“网页蛀虫”蠕虫家族的最新成员之一,采用HTML网页脚本语言编写,是被“威金”变种感染后的网页文件.在用户访问的网页中显示一个宽度和高度都为0的编辑框(因为宽高都为0,所以该编辑框呈现隐藏不显示状态),用这个编辑框去打开...

    我想学可以加载在CAD中的小程序 学lisp还是visualisp语言呢_百度...
    是同一种,两者通用。

    单片机(汇编语言)需要的软件?
    汇编要将编辑文件要保存为.s为后缀的文件(c语言则是.c为后缀)51单片机可以很多下载软件 将你的汇编程序 在Keil 软件中设置为:options for target 1->output->create HEX file 生成hex文件 然后将这个hex文件通过下载软件下载到单片机中.下载软件有两类:串口下载和ISP接口下载 ISP接口下载软件是对应...

    stc-isp串口助手文本模式怎么得到结果
    直接得到。stcisp串口助手文本模式在进行到结束界面的时候会直接显示结果,因此会直接得到结果。文本,是指书面语言的表现形式,从文学角度说,通常是具有完整、系统含义的一个句子或多个句子的组合。

    求红外线计数器c语言程序
    sfr isp_wdt = 0xE1;sfr isp_data = 0xE2;sfr isp_addrh = 0xE3;sfr isp_addrl = 0xE4;sfr isp_cmd = 0xE5;sfr isp_trig = 0xE6;sfr isp_contr = 0xE7;\/***\/ \/***STC89CXX_EEPROM扇区擦除程序***\/ void STC89CXX_EEPROM_Erase(unsigned c...

    ISP工程师是做什么
    3.对ISP原理有较深入的理解,具有一定的ISP算法与驱动开发经验;4.具有一定的ISPtuning经验,具有3A.WDR.HDR等算法开发与优化经验为更佳;5.熟练掌握评估图像质量的相关参数含义,影响,以及测试过程,有imatet软件使用经验优先;6.c,matlab,Python至少熟悉其中一种编程语言;7.工作责任感强,踏实勤奋,...

    初学者求STC89C51RC单片机内部看门狗怎么启用,求汇编程序。C语言...
    在单片机程序初始化是写入 MOV 0A6H,#1EH MOV 0A6H,#0E1H ;启动看门狗 在单片机总要运行的程序段中写入 MOV 0A6H,#1EH MOV 0A6H,#0E1H ;喂狗 也就是:每隔一段时间执行以上两句(喂狗),不然,狗会饿的

    劲松《网络语言是什么语言文献出处
    如:用“B4”代替“before”,“DL”代替“download”,“IE”代替“Internet Explorer”,“ISP”代替“Internet Service Provider”,“VG”代替“Very good”,“HRU”代替“How are you”,“FAQ”代替“Frequently Asked Questions”等。网络语言中英语借词体现出的简洁、明了、缩略的特点,有人也称之为语言的经济性...

    和静县19247894679: c语言中int isPrime(int n)是什么意思 -
    虫狄赛茜: 1、isPrime 是自定义的一个函数,传入一个整数n,判断是否为素数.若是返回1,否则返回0. 2、例程及实现: #include "stdio.h" int isprime(int a) //判断素数的函数 {int j;for(j=2;j<a;j++)if(a%j==0) //如果有因数,则不为素数return 0;else ...

    和静县19247894679: isprime在c语言中是什么意思 -
    虫狄赛茜: 格式应该是这样的isprime(int x) 用时比如一个数t ,就这么写isprime(t) 返回值是1时 说明是素数,返回值是0,则非素数

    和静县19247894679: C语言中求素数的函数是不是isprime?请问是怎么用的 谢谢 -
    虫狄赛茜: c语言中没有求素数的程序,你的自己编一个,判断形参a是否为素数,若是素数,函数返回1,否则返回0.int isprime(int a) { for (int i=2;i { if (a%i==0) return 0; } return 1; }

    和静县19247894679: C语言m~n之间的素数 -
    虫狄赛茜: 你写的程序思路非常混乱 用循环就可以. #include <stdio.h> #include<math.h> void main() { int m,n,i; int isPrime(int); scanf("%d %d",&m,&n); for(i=m;i<=n;i++) if(isPrime(i)) printf("%d ",i); } int isPrime(int x) //这个才是判断是否素数的函数,是返回1,不是返回0 { int i,flag=1; for(i=2;i<=sqrt(x);i++) if(x%i==0) { flag=0; break; } return flag; }

    和静县19247894679: c语言问题计算 , 请编写函数isprime( )用来判断一个整数a是否为素数,若是素数,函数返回1,否则返回0.并 -
    虫狄赛茜: #include "stdio.h" int isprime(int a) {int j;for(j=2;j<a;j++)if(a%j==0)return 0;elsereturn 1; }void main() {int x,y;printf("请输入一个整数:");scanf("%d",&x);y=isprime(x);if(y==0)printf("%d不是素数\n",x);elseprintf("%d是素数\n",x); } 由于问题不完整,不知是不是你要的答案.或许你可以参考一下

    和静县19247894679: c语言中 int isprime 是 什么意思 -
    虫狄赛茜: 定义了一个int型变量 isprime 呗...就是在内存中开辟一个4字节的空间 命名为isprime~

    和静县19247894679: 利用自定义函数isprime(int x)求1000以内的素数并且按照每一行八个的格式输出的c语言 -
    虫狄赛茜: #include<stdio.h>#include<math.h> int prime_numbers(int start, int end, int is_print); bool is_prime_numbers(int number); int main(){ bool print = 1; int num; num = prime_numbers(1, 1000, print); printf("素数的总数为:%d\n", num); return 0; } ...

    和静县19247894679: C语言 判断素数的函数,急急急急!!!!!!!!!! -
    虫狄赛茜: #include <stdio.h> /*判断是否素数*/ int IsPrime (int m) {int i;if (m == 2) return 1;if (m == 1 || m % 2 == 0) return 0;for (i = 3; i * i <= m;){if (m % i == 0) return 0;i += 2;}return 1; }int main() {int i;int count =0;int a[10]={2,3,4,12,23,56,79,9,8,15...

    和静县19247894679: 用C语言编写此程序,已有变量定义和函数调用语句:int x=57;isprime();函数isprime()用来判断一个整数a是否是素数,函数返回1,否则返回0.请编写isprime()函数 -
    虫狄赛茜: int isprime(int m) { int i: // m = ab; for (i=2;i<=m/2;i++) if (m%i==0) return 0; // 循环 i=0 到 ab/2, 一旦余数为0(除净)返回0 return 1; // 循环完毕 都没除净 进入这句,返回 1 }

    和静县19247894679: 求C语言程序,int isprime (int m)用以判断m是否为素数.并写出运行结果. -
    虫狄赛茜: #include <stdio.h>#include <assert.h> int isprime(int m); int main(void) { int num; scanf("%d",&num); assert(num>=0); if(isprime(num)) { printf("The number is a prime!\n"); } else { printf("It isn't a prime!\n"); } return 0; } int isprime(int m) { int i,...

    本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
    相关事宜请发邮件给我们
    © 星空见康网