资源描述:
《C语言程序设计习题4.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题4参考解答1.写出下面函数的运行结果。#includevoidfx701(intk,intn,floata);intmain(){intk=1,n=5;floata=3.2,b=8.5;printf("调用前:k=%dn=%da=%.2fb=%.2f",k,n,a,b);fx701(k,n,a);printf("调用后:k=%dn=%da=%.2fb=%.2f",k,n,a,b);return0;}voidfx701(intk,intn,floata){intq=100;floa
2、tb,x=6.2;k+=q;n*=q;a-=x;b=3.5*a;printf("函数中:k=%dn=%da=%.2fb=%.2f",k,n,a,b);}解:调用前:k=1n=5a=3.20b=8.50函数中:k=101n=500a=-3.00b=-10.50调用后:k=1n=5a=3.20b=8.502.编写一个函数,实现从键盘输入一个整数,如果该整数为素数,则返回1,否则返回0。解:#include#includeintIs_prime(inti){intj=0;f
3、or(j=2;j
4、aseinputanumber:8↙8isnotaprime.3.设计两个函数,分别求矩形的周长和面积,并在主函数中调用这两个函数。解:#includefloatarea(floata,floatb){floats;s=a*b;return(s);}floatzc(floata,floatb){floatp;p=2*(a+b);return(p);}intmain(){floata,b,s,p;printf("请输入长方形的边长a,b:");scanf("%f%f",&a,&b);s=are
5、a(a,b);p=zc(a,b);printf("长方形的周长为p=%f,长方形的面积为s=%f",p,s);}程序运行情况如下:请输入长方形的边长a,b:34↙长方形的周长为p=14.000000,长方形的面积为s=12.0000004.编写一个函数求一个整数n的阶乘,在主函数中计算并输出10!的值。解:#includefloatfc(intn){floats;if(n==1
6、
7、n==0)s=1;elses=n*fc(n-1);return(s);}intmain(){floatk;k=f
8、c(10);printf("10!=%f",k);return0;}程序运行结果如下:10!=3628800.0000005.已知函数fun2的原型说明为“longfun2(intm,intn);”,调用该函数计算m~n的和(其中n>m>0),例如:若m=5,n=20,则计算5+6+7+8+…+20的值。要求在主函数中通过键盘输入m和n的值,并输出和的值。解:#includelongfun2(intm,intn){longs;inti;s=0;for(i=m;i<=n;i++)s=s+i
9、;return(s);}intmain(){intn,m,sum;printf("请输入m,n的值n>m:");scanf("%d%d",&m,&n);sum=fun2(m,n);printf("sum=%d",sum);return0;}程序运行结果如下:请输入m,n的值n>m:520↙sum=2006.编写一个函数重复打印给定的字符n次。解:#includevoidfun2(charm,intn){inti;for(i=1;i<=n;i++)printf("%c",m);prin
10、tf("");}intmain(){charm;intn;printf("请输入给定的字符");scanf("%c",&m);printf("请输入打印的次数");scanf("%d",&n);fun2(m,n);return0;}程序运行结果如下:请输入给定的字符*↙请输入打印的次数5↙*****7.写出程序的运行结果,并上机验证其结果。#includevoidfun