下列给定程序中,函数fun()的功能是:判断一个整数m是否是素数,若是返回l,否则返回0。在main()函数

题目

下列给定程序中,函数fun()的功能是:判断一个整数m是否是素数,若是返回l,否则返回0。在main()函数中,若fun()返回1则输出YES,若fun()返回0则输出NO!

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.

试题程序:

include <conio.h>

include <stdio.h>

int fun(int m)

{ int k=2;

while (k<=m&&(m%k))

/*************found*********************/

k++

/*************found*********************/

if(m=k)

return 1;

else return O;

}

main ( )

{ iht n;

clrscr ();

printf("\nPlease enter n: ");

scanf ("%d", &n);

if (fun (n)) printf ("YES\n");

else printf ("NO! \n");

}

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

编写 isprime函数用来判断整型数x是否为素数,若是素数,函数返回1,否则返回0。


int isprime(int a) {int k; if(a==1) return 0; for(k=2;k<=a/2;k++) if(a%k==0) return 0; return 1; }

第2题:

以下函数的功能是判断形参a是否为素数,若是函数返回1,否则返回0,请填空。 int isprime(int a) { int i; for(i=2;i<=a/2;i++) if(___________) return 0; return 1; }


A

第3题:

设计函数,判断整数n是不是素数,是则返回该素数,否则返回0。在主函数里调用该函数,该整数是在主函数中通过键盘输入的。


i=m or m mod i=0;(i=m)or m mod i=0;i=m or(m mod i=0);(i=m)or(m mod i=0),i=n;n=i

第4题:

56、以下函数的功能是判断形参a是否为素数,若是函数返回1,否则返回0,请填空。 int isprime(int a) { int i; for(i=2;i<=a/2;i++) if(___________) return 0; return 1; }


return 0或return(0) return 1或return(1) 素数是指只能被1和其本身整除,不能被其他任何整数整除的数。根据if条件语句,若形参a对i取余等于0,则形参a可以被其他数整除,所以第一处填return0;若形参a对i取余不等于0,则形参s不可以被其他数整除,所以第二处填return1。

第5题:

请补充函数proc(),该函数的功能是判断一个数是否为素数。该数是素数时,函数返回字符串:“yes!”,否则函数返回字符串:“no!”,并在主函数中输出。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:


正确答案:

【l】char*proc(intn)【2】2【3】n%i==0
【解析】由整个程序可知,【1】应为函数proc()的函数头。根据主函数中的调用可知形参的个数和类型,因此,【1】处填“char”proc(intn)”。素数为只能被1和它本身整除的整数。要判断一个整数是否为素数,要看它是否能被除1和小于它本身之外的数整除,因此,【2】处填“2”;【3】处填“n%i==0”。

第6题:

下列给定程序中,函数proc()的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在main()函数中,若proc()返回1,则输出″YES″;若proc()返回0,则输出″NO″!

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main)函数,不得增行或删行,也不得,t更改程序的结构。

试题程序:


正确答案:

(1)错误:k++
正确:k++;
(2)错误:if(m=k)
正确:if(m==k)
【解析】根据C语言的语法规则,每一条语句都要以分号结束,因此,要在语句“k++”之后加上分号。判断变量m与变量k是否相等应该用符号“==”,符号“=”为赋值符号,因此,“if(m=k)”应改为“if(m==k)”。

第7题:

下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.

试题程序:

include <conio.h>

include <stdio.h>

int fun( int m)

{ int i,k;

for (i=m+1; ;i++)

{ for (k=2;k<i;k++)

/*************found**************/

if (i%k!=0)

break;

/*************found**************/

if (k<i)

return(i);

}

}

main()

{ int n;

clrscr ();

printf("\nPlease enter n: ");

scanf ("%d", &n);

printf ("%d\n",fun(n));

}


正确答案:(1)错误: if(i%k!=0) 正确: if(i%k=0) (2)错误: if(ki) 正确: if(k>=i)
(1)错误: if(i%k!=0) 正确: if(i%k=0) (2)错误: if(ki) 正确: if(k>=i) 解析:也许刚接触C语言的学习者对素数的概念不清楚,在这里说明一下,素数就是质数,本题的任务是随便输入一个整数m,然后在m的后面寻找紧跟m的一个质数,作为函数值返回。
for (i=m+1; ;i++){
是从m后面的一位开始循环,将m后面一位的值赋予i。然后;我们依次判断m后面的一位是否为素数。
for (k=2;ki;k++)
if (i%k==0)
是一个简单的数学判断问题,判断i被赋予的值与k的余数是否为零。

第8题:

以下ispeime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。int isprime(int a){int i; for(i=2;i<=a/2;【】) if(a%i= =0) return(0); 【】;}


正确答案:i++  或 i+=1  或 ++i 或 i=i+1
        return 1  或  return(1)
当进行一个判断之后要让i增1,以实现对下一个数的除法。依据题意,如果是素数,要返回1.

第9题:

对输入一个整数进行判断,若是偶数,输出even,否则输出odd,在子函数fun2功能是判定整数是否为偶数,若是偶数,返回1,否则返回0int fun2(int x){if(x%2==0);return 0;}main(){int n;scanf("%d",&n);ifprintf("even\n");else printf(odd\n");}


正确答案:return 1 fun2(n)
依据题目的条件,如果整数是偶数,就返回1,返回值语句为return 1.通过返回值,我们能够知道整数是偶数还是奇数,从而进行相应的输出。