C语言程序设计习题4.doc

上传人:韩长文 文档编号:8635730 上传时间:2020-12-09 格式:DOC 页数:12 大小:45.50KB
返回 下载 相关 举报
C语言程序设计习题4.doc_第1页
第1页 / 共12页
C语言程序设计习题4.doc_第2页
第2页 / 共12页
C语言程序设计习题4.doc_第3页
第3页 / 共12页
C语言程序设计习题4.doc_第4页
第4页 / 共12页
C语言程序设计习题4.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C语言程序设计习题4.doc》由会员分享,可在线阅读,更多相关《C语言程序设计习题4.doc(12页珍藏版)》请在三一文库上搜索。

1、. 习题4参考解答 1写出下面函数的运行结果。#includevoid fx701(int k,int n,float a);int main() 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(int k,int n,float a) int q=100; float b,x=6.2; k+=q; n*=q; a-=x; b=3

2、.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.502编写一个函数,实现从键盘输入一个整数,如果该整数为素数,则返回1,否则返回0。解:#include精品.#include int Is_prime(int i) int j=0; for(j=2;ji;j+) if(0=(i%j) return 0; return 1; int main() int i; printf(Pl

3、ease input a number:); scanf(%d,&i); if(1=Is_prime(i) printf(%d is a prime.n,i); else printf(%d is not a prime.n,i); system(pause); return 0; 程序运行结果如下:Please input a number:13精品.13 is a prime.Please input a number:88 is not a prime.3设计两个函数,分别求矩形的周长和面积,并在主函数中调用这两个函数。解:#include float area(float a,floa

4、t b) float s; s=a*b; return(s); float zc(float a,float b) float p; p=2*(a+b); return(p); int main() float a,b,s,p;printf(请输入长方形的边长a,b:); scanf(%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.000000精品.4编写一个函数求一个整数n的阶乘,在主函

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

6、e long fun2(int m,int n) long s;int i;s=0;精品. for(i=m;im:n);scanf(%d%d,&m,&n);sum=fun2(m,n);printf(sum=%dn,sum);return 0;程序运行结果如下:请输入m,n的值nm:5 20sum=2006编写一个函数重复打印给定的字符n次。解:#include void fun2(char m,int n) int i; for(i=1;i=n;i+) printf(%c,m);printf(n);int main() char m;精品. int n; printf(请输入给定的字符n);s

7、canf(%c,&m); printf(请输入打印的次数n);scanf(%d,&n); fun2(m,n); return 0;程序运行结果如下:请输入给定的字符*请输入打印的次数5*7写出程序的运行结果,并上机验证其结果。#include void fun1()int x=5; printf(x=%dn,x); void fun2(int x) printf(x=%dn,+x); int main() int x=2; fun1(); fun2(x);精品. printf(x=%dn,x); return 0;解: x=5x=3x=28指出下列程序中各变量的存储属性,并写出程序的执行结果。

8、(1)#includevoid add(int i);int main() int i=1; add(i); printf(main:i=%dn,i); return 0; void add(int i) i=i+3; printf(add:i=%dn,i); 解: add:i=4 main:i=1 其中,i是自动型变量。(2)#includeint i=1;void add1();int main()精品. add1(); printf(i=%dn,i); return 0; void add1() i=i+3; 解: i=4 其中,该变量是外部型变量。(3)#includevoid add

9、2(int i);int main() int i=2; add2(i);add2(i); return 0;void add2(int i) static int j=5; j=i+j; printf(j=%dn,j); 解: j=7 j=9精品. 其中,变量i是静态型变量。9编写程序实现以下图形的输出。 * * * * * * * * * * * * * * * * * * * * * * 解: #include void main() int i,j,k; for(i=1;i=5;i+) /先打印上边的四行 for(j=1;j=5-i;j+) /控制要打印的空格数量 printf( );

10、 for(k=1;k=2*i-1;k+) /控制要打印的星号数 printf(*); printf(n); 10写出程序的运行结果。#include#define X 5#define Y X+1#define Z Y*X/2 int main() int a; a=Y;精品.printf(%d %dn,Z,-a);return 0;解: 7 5 11编写一个函数,将一个十进制整数转换为二进制数。解: #include void main()long num;int ozb();printf(请输入一个十进制数:);scanf(%ld,&num);printf(%ld的二进制数为:,num);

11、ozb(num);int ozb(long num)int a32=0,i=0;while(num=1) ai=num%2; num=num/2; i+;for(i=i-1;i=0;i-) printf(%d,ai);精品.printf(n);return(ai); 程序运行结果如下: 请输入一个十进制数:5 5的二进制数为:101 12编写一个函数,找出任意整数的全部因子。 解: #include int N; void main() void yz(); scanf(%d,&N);/*输入N的值*/ yz(N); void yz() int i,p=1; for(i=1;iN+1;i+) /*执行for 语句,是用来求和的*/ if(N%i=0) /*判断是否是N的因子,如果是则加上*/ p=i; printf(%d ,p); 程序运行结果如下: 15精品. 1 3 5 15 如有侵权请联系告知删除,感谢你们的配合!精品

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1