资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 6 章 函数与预处理习题解答1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。用辗转相除法,m、n 是两个正整数,r 是余数,用直到循环操作的流程图:#includeint gcf(int,int); /求最大公约数函数int lcm(int,int); /求最小公倍数函数void main()int m,n;doprintf(Please input tow positive integert:);scanf(%d %d,&m,&n);while(mvoid f(char a);void main()char a100;printf(Input a string:);gets(a);f(a); void f(char a)int i=0,c=0,n=0,m=0;doif(ai=A& ai=a& ai=0& aivoid f(long);void main()long int n;printf(Input a integer:);scanf(%ld,&n);f(n);void f(long int n)int i,k,s=0,a,r;for(i=10;i#define SWAP(a,b) a=a+b;b=a-b;a=a-b void main()int x,y;printf(Input two integeres:);scanf(%d %d,&x,&y);SWAP(x,y);printf(%d %dn,x,y);5已知二阶 Fibonacii 数列:其 他 情 况若 若)2()1( 100)(nFibi nnFib定义递归函数求 Fib(n)。#includeint fib(int);void main()int x,i;printf(Input a integeres:);scanf(%d,&x);for(i=0;iint fact(int);void main()int x,y;printf(Input two integeres:);scanf(%d %d,&x,&y);printf(%d+%d)!+%d!=%dn,x,y,x,fact(x+y)+fact(x);int fact(int n)int f;if(n=0)f=1;else f=n*fact(n-1);return f;7定义一个函数完成第 5 章第 11 题的功能:输出九九表。#includevoid f(void);void main()f();void f(void)int i,j;for(i=1;iint divs(int n); /求整数 n 的约数之和void main()int n;printf(Input a integer:);scanf(%d,&n);divs(n);int divs(int n)int i,s=0;printf(Integer: %d:,n);for(i=1;iint divs(int n); /求整数 n 的约数之和void main()int i,j,si,sj;for(i=1;istruct workerchar na5;int no;int main()struct worker s5;struct worker t;int i,j,k;printf(Input worker_no and worker_non);for(i=0;ilong fatc(int n) /求阶乘int i;long p=1;for(i=1;iint mul(int a,int b); /原程序没有该引用声明int main()int x,y,z;printf(Input tow numbers:);scanf(%d %d,&x,&y);while(x!=0)z=mul(x,y);printf(%d * %d=%dn,x,y,z);printf(Input tow numbers:);scanf(%d %d,&x,&y);return 0;int mul(int a,int b)int c;c=a*b;return c;求 (函数 mm 用来求阶乘)10!n#includeint main()long s=0,i,mm(int k); /mm(int k)为函数的引用声明for(i=1;iint f(int x)int y;if(x%2!=0)y=1;elsey=0;return y;int main()int x;printf(Input a integer:);scanf(%d,&x);if(f(x)printf(%d is a odd numbern,x);elseprintf(%d is a even numbern,x);return 0;定义函数 int f(int m,int n)求 mn.要求用函数递归调用的方法。#includeint f(int m,int n)int y;if(n=0)y=1;elsey=m*f(m,n-1);return y;int main()int m,n;printf(Input two integers:);scanf(%d %d,&m,&n);printf(%d power %d =%dn,m,n,f(m,n);return 0;定义函数 int f(int n)求 。要求用函数递归调用的方法。ni1#includeint f(int n)int s;if(n=1)s=1;elses=n+f(n-1);return s;int main()int n;printf(Input a integers:);scanf(%d,&n);printf(1+2+%d =%dn,n,f(n);return 0;定义函数 int f(int a,int b)求 a,b 的最大公约数。#includeint f(int a,int b)int r,g;r=a%b;if(r=0)g=b;elseg=f(b,r);return g;int main()int a,b;printf(Input two integers:);scanf(%d %d,&a,&b);printf(%d and %d greatest common divisor=%dn,a,b,f(a,b);return 0;已知: )3,2.(),3.2(nxfnxfy其中: (n0))!(1!41),f当 x=5.6,n=7 时,求 y.#includedouble fun(double x,int n)/计算 x 的 n 次方int i;double y=1.0;for(i=1;i=n;i+)y=y*x;return y;int fact(int n) /计算 n!long p;int i;for(i=1,p=1;i=n;i+)p=p*i;return p;double f(double x,int n) /函数 f(x,n)double y=1;int i;for(i=1;i=2*n;i+=1)y=y+fun(-1,i)*fun(x,2*i)/fact(2*i);return y;int main()double y;y=f(5.6,7)/(f(5.6+2.3,7)+f(5.6-3.2,7);printf(y=%lfn,y);return 0;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号