c语言第七章课后题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、第七章习题7(p184-p187),全做,中选做两道,要求给出程序执行结果。7-1、

#include <>

int Square(int i)

{

return i*i;

}

int main()

{

int i=0;

i=Square(i);

for(; i<3;i++)

{

static int i=1;

i+=Square(i);

printf("%d,",i);

}

printf("%d\n",i);

return 0;

}

结果:

结果分析:

开头定义square()函数

功能:计算一个数的平方

入口参数:整数x

返回值:i*i

主函数:i=0;进入循环:

静态变量i=1;

i=i+square(1)=2;

输出 2;

循环变量i=0+1=1;

i=1<3 成立

int i;

second=0;

for(i=0;i<1000000;i++)

{

update(); /*利用循环控制时钟运行时间*/

display(); /*显示时,分,秒*/

delay(); /*模一尺时间为1秒*/ }

return 0;

}

结果:

自动跳出时间

7-3、

#include <>

/*max()函数

功能:找两个数的最大值

入口参数:两个整数a,b

返回值:两数的最大值

*/

int max(int a, int b)

{

int max=0;

max = (a>b)a:b;

return max;

}

void main()

{

int x=0; /*输入的两个数x,y*/

int y=0;

int m=0; /*m用于接收max()函数的返回值*/

printf("input two integer numbers:");

scanf("%d,%d",&x,&y);

m=max(x,y);

printf("the max number is %d\n",m);

}

结果:

7-4

#include <>

/*LCM()函数

功能:计算两个整数的最小公倍数

入口参数:两整数a,b

返回值:最小公倍数

*/

int LCM(int a,int b)

{

int i=0; /*循环变量*/

int min=0; /*循环寻找范围的最小值*/

int max=0; /*循环寻找范围的最大值*/

min = (a>b)a:b; /*最小值为a,b中的最大值*/ max = a*b; /*最大值为a*b*/

for (i=min; i<=max; i++)

{

if(i%a==0 && i%b==0)

return i;

}

void main()

{

int x; /*键盘输入两整数x,y*/

int y;

int m; /*m用于接收LCM()函数的返回值*/

do{ /*输入整数的合法数据*/ printf("输入两个正整数:");

scanf("%d,%d",&x,&y);

}while(x<0 || y<0);

m = LCM(x,y);

printf("最小公倍数为:%d\n",m);

}

结果:

7-5、

#include <>

long fact(int n);

void main()

{

int i=0; /*循环变量*/

int n=0; /*输入的值*/

int m=0; /*接收fact()函数的返回值*/

do{

printf("input n:");

scanf("%d",&n);

}while(n<0);

for(i=1; i<=n; i++)

{

m=fact(i);

}

}

/*fact函数

功能:计算n!

入口参数:n

返回值:n!

*/

long fact(int n)

{

static long p=1;

p=p*n;

return p;

}

结果:

7-6、

#include <>

long fact(int n);

void main()

{

int i=0; /*循环变量*/

int n=0; /*输入的值*/

int m=0; /*接收fact()函数的返回值*/ long s=0; /*所求最终结果*/

do{

printf("input n:");

scanf("%d",&n);

}while(n<0);

for(i=1; i<=n; i++)

{

相关文档
最新文档