C语言程序设计习题参考答案第二版杜友福

printf(\ }

for(i=0;i<3;i++) for(j=0;j<5;j++) {c[i][j]=0;

for(k=0;k<4;k++)

c[i][j]+=a[i][k]*b[k][j]; }

printf(\ for(i=0;i<3;i++) {for(j=0;j<5;j++)

printf(\ printf(\ } }

14. 编程输出两个字符串中对应位置上相同的字符。 答:程序参见文件Cprogram\\

#include \main() {int i;

char a[81]=\ char b[81]=\ printf(\ printf(\ printf(\ i=0;

while(a[i]!='\\0' && b[i]!='\\0') {if(a[i]==b[i])

printf(\ i++; }

printf(\}

15. 设有一字符串已按升序排列在字符数组a中,请将另一字符串b中的字符按升序的规律插到数组a中。 答:程序参见文件Cprogram\\

#include \#include \main() {int i,j,k;

char a[81]=\ char b[81]=\ printf(\

printf(\ i=0;

while(b[i]!='\\0') {j=0;

while(a[j]=j)

{a[k+1]=a[k];k--;} a[j]=b[i]; i++; }

printf(\}

16. 将已按升序排列的两个字符串a和b中的字符按升序归并到字符数组c中。 答:程序参见文件Cprogram\\

#include \#include \main() {int i,j,k;

char a[81]=\ char b[81]=\ char c[81];

printf(\ printf(\ i=0;j=0;k=0;

while(a[i]!='\\0'&&b[j]!='\\0') {if(a[i]

c[k++]=a[i++]; else

c[k++]=b[j++]; }

while(a[i])

c[k++]=a[i++]; while(b[j])

c[k++]=b[j++]; c[k]='\\0';

printf(\}

习题七 函数

一、 选择题

1~10:BDCDD BDBAC 11~20:AABBB ABAAC

21~31:CDAAC DDABB A 二、 填空题

1. 函数声明

2. 自动将其转换为函数定义时的类型 3. 10 4. 1100 5.

6. i<=n 、 s 、 0 、 f(k) 7. *(x0+a/x0) 、 a,x1 8. Itis 9. 2721 10. 0246

11. k 、 -1 12. 2 、 2 13. p= j 、 x[i][p] 14. 5 15. 7 16. 24

17. age(n-1)+2 、 age(n)

18. m 、 m/10 、 m或m!=0 、 r(m) 三、 编程题

1. 编一函数,判断某年是否为闰年,若是返回1,否则返回0。

答:程序参见文件Cprogram\\

#include <> fun(int m)

{ return (m%4==0)&&(m0!=0)||(m@0==0);} main() { int n;

for (n=1987;n<2009;n++) if(fun(n))

printf(\}

2. 编写计算三角形面积的程序,将计算面积定义成函数。三角形面积公式为:

A=s(s?a)(s?b)(s?c) 式中s=(a+b+c)/2

其中A为三角形面积,a、b、c为三角形的三条边的长度。 答:程序参见文件Cprogram\\

#include <> #include <>

float fun(float a,float b,float c) {float f,s;

s=(a+b+c)/2;

if((s<=a)||(s<=b)||(s<=c)) 编写两个函数,分别求出两个整数的最大公约数和最小

公倍数,用主函数调用这两

个函数,并输出结果,两个整数由键盘输入。 答:程序参见文件Cprogram\\

#include <>

#include <>

int fmax(int m,int n) {int r; r=m%n; while (r!=0)

{m=n;n=r;r=m%n;} return n; }

int fmin(int m,int n)

{ return m*n/fmax(m,n);} main() { int a,b;

scanf(\

printf(\

联系客服:779662525#qq.com(#替换为@)