C语言程序设计习题4_第1页
C语言程序设计习题4_第2页
C语言程序设计习题4_第3页
C语言程序设计习题4_第4页
C语言程序设计习题4_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题4参考解答1.写出下面函数的运行结果。#in cludevoid fx701(i nt k,i nt n,float a);int mai n()int k=1, n=5;float a=3.2,b=8.5;printf(” 调用前:k=%d n=%d a=%.2f b=%.2fn,k,n,a,b);fx701(k ,n ,a);printf(调用后:k=%d n=%d a=%.2f b=%.2fn,k,n,a,b); return 0;void fx701(i nt k,i nt n,float a)int q=100;float b,x=6.2;k+=q; n *=q; a-=x; b

2、=3.5*a;printf(函数中:k=%d n=%d a=%.2f b=%.2fn,k,n,a,b);解:调用前:k=1 n=5 a=3.20 b=8.50函数中:k=101 n=500 a=-3.00 b=-10.50调用后:k=1 n=5 a=3.20 b=8.501,否则返2 编写一个函数,实现从键盘输入一个整数,如果该整数为素数,则返回 回0。解:#in clude#in cludeint ls_prime(i nt i)int j=0;for(j=2;ji;j+)if(0=(i%j)return 0;return 1;int mai n()int i;prin tf(Please

3、in put a nu mber:);scan f(%d,&i);if(1=Is_prime(i)prin tf(%d is a prime.n,i);elseprin tf(%d is not a prime.n,i);system(pause);return 0;程序运行结果如下:Please in put a nu mber:13/13 is a prime.Please in put a nu mber:8 /8 is not a prime.3设计两个函数,分别求矩形的周长和面积,并在主函数中调用这两个函数。解:#in cludefloat area(float a,float b)

4、float s;s=a*b;return(s);float zc(float a,float b)float p;p=2*(a+b);return(p);int mai n()float a,b,s,p;printf(请输入长方形的边长a,b:);scan f(%f%f,&a,&b);s=area(a,b);p=zc(a,b);printf(长方形的周长为p=%f,长方形的面积为 s=%f,p,s);程序运行情况如下:请输入长方形的边长a,b:3 4/长方形的周长为 p=14.000000,长方形的面积为s=12.0000004编写一个函数求一个整数 n的阶乘,在主函数中计算并输出10 !的值

5、。解:#in cludefloat fc(int n)float s;if(n=1| n=0) s=1;else s=n*fc(n-1);return(s);int mai n()float k;k=fc(10);prin tf(1O!=%fn,k);return 0;程序运行结果如下:10!=3628800.0000005.已知函数fun2的原型说明为Iong fun2(int m,int n); ”,调用该函数计算 mn的和(其 中nm0),例如:若 m=5, n=20,则计算5+6+7+8+20的值。要求在主函数中通过键 盘输入m和n的值,并输出和的值。解:#in cludelong f

6、un 2(i nt m,i nt n)long s;int i;s=0;for(i=m;im:n);scan f(%d%d,&m,&n);sum=fun2(m,n);prin tf(sum=%dn,sum);return 0;程序运行结果如下:请输入m,n的值nm:5 20 /n次。sum=2006 编写一个函数重复打印给定的字符解:#in clude void fun 2(char m,i nt n)int i;for(i=1;i=n ;i+)prin tf(%c,m);prin tf(n);int mai n()char m;printf(请输入给定的字符n);scan f(%c,&m);

7、printf(请输入打印的次数n);scan f(%d,&n);fun 2(m, n);return 0;程序运行结果如下:请输入给定的字符* /请输入打印的次数5/*7写出程序的运行结果,并上机验证其结果。#in cludevoid fun 1()int x=5;prin tf(x=%dn,x);void fun 2(i nt x)prin tf(x=%dn,+x);int mai n()int x=2;fun 1();fun 2(x);prin tf(x=%dn,x);return 0;解:x=5x=3x=2&指出下列程序中各变量的存储属性,并写出程序的执行结果。(1) #includev

8、oid add(i nt i);int mai n()int i=1;add(i);prin tf(mai n:i=%dn,i);return 0;void add(i nt i)i=i+3;prin tf(add:i=%dn ,i);解:add:i=4main:i=1其中,i是自动型变量。(2) #includein t i=1;void add1();int mai n()add1();prin tf(i=%dn ,i); return 0;void add1()i=i+3;解:i=4其中,该变量是外部型变量。(3) #includevoid add2(i nt i);int mai n(

9、)int i=2;add2(i);add2(i);return 0;void add2(i nt i)static int j=5;j=i+j;prin tf(j=%dn,j);解:j=7j=9其中,变量i是静态型变量。9编写程序实现以下图形的输出。解:#in cludevoid mai n()int i,j,k;for(i=1;i=5;i+)for(j=1;j=5-i;j+) printf(” );for(k=1;k=2*i-1;k+)prin tf(*);prin tf(n ”);10 写出程序的运行结果。#in clude/先打印上边的四行/控制要打印的空格数量/控制要打印的星号数#de

10、fi ne X 5#defi ne Y X+1 #defi ne Z Y*X/2 int mai n()a=Y;prin tf(%d%dn,Z,-a);return 0;解:7 511.编写一个函数,将一个十进制整数转换为二进制数。解:#in elude void mai n()long num;int ozb();printf(请输入一个十进制数:”);scan f(%ld,&nu m);printf(%ld 的二进制数为:”,num);ozb( nu m);int ozb(l ong num)int a32=0,i=0;while( num =1)ai=num%2;num=num/2;i+;for(i=i-1;i=0;i-)prin tf(n);return(ai);程序运行结果如下:请输入一个十进制数:5/5的二进制数为:10112 编写一个函数,找出任意整数的全部因子。解:#in cludeint N;void mai n()vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论