上机任务十二:程序错误修正与功能实现.pdfVIP

  • 0
  • 0
  • 约3.56千字
  • 约 4页
  • 2026-02-18 发布于北京
  • 举报

上机任务十二:程序错误修正与功能实现.pdf

上机任务十二

实验内容:

1.打开程序mod12_1.c,程序中有三个错误,请修改并运行。(程序功能,在主

程序中输入两个数,调用函数max,函数返回值为两个数中大的数。)

输入测试数据:3.5和2。

#includestdio.h

floatmax(float,float);或者floatmax(floatx,floaty);

voidmain()

{floata,b;

printf(inputtwonumber:\n);

scanf(%f%f,a,b);

printf(Maxis%f\n,max(a,b));

}

floatmax(floatx,floaty)

{floatz;

z=xy?x:y;

return(z);

}

或者:

#includestdio.h

voidmain()

{floatmax(float,float);或者floatmax(floatx,floaty);

floata,b;

printf(inputtwonumber:\n);

scanf(%f%f,a,b);

printf(Maxis%f\n,max(a,b));

}

floatmax(floatx,floaty)

{floatz;

z=xy?x:y;

return(z);

}

或者:将max函数放在主函数之前。

2.打开程序mod12_2.c,程序中有两个错误,请修改并运行。程序功能:从键

盘读入两个整数,求它们之间的整数的乘积,例如输入5和3,结果为3×4

×5。

#includestdio.h

floatfac(int,int);或者floatfac(intx,inty);

voidmain()

{inta,b;

printf(inputtwonumber:\n);

scanf(%d%d,a,b);

printf(resultis%f\n,fac(a,b));

}

floatfac(intx,inty)

{intm,n,i;

floatf;

m=xy?x:y;

n=xy?x:y;

f=1;

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

f=f*i;

return(f);

}

3.打开程序mod12_3.c,编程实现P248页7.6,要求:在主程序中读入一

个数做为函数的参数,调用一个有参数有返回值的函数判断该数是否是素数,

并在主程序中根据返回值打印“YES”或者“NO”。

解法一:

#includestdio.h

#includemath.h

intprime(intm)

{intj,k,f=1;

k=sqrt(m);

for(j=2;j=kf;j++)

if(m%j==0)f=0;

return(f);

}

voidmain()

{intn;

scanf(%d,n);

if(prime(n)==1)printf(yes\n);

elseprintf(no\n);

}

解法二:

#includestdio.h

#includemath.h

intprime(intm)

{intj,k,f;

k=sqrt(m);

for(j=2;j=k;j++)

if(m%j==0)break;

if(jk)f=1;

elsef=0;

return(f);

}

voidmain()

{intn;

scanf(%d,n);

文档评论(0)

1亿VIP精品文档

相关文档