文档详情

c语言第七章课后题.doc

发布:2017-01-15约7.11千字共15页下载文档
文本预览下载声明
一、第七章习题7(p184-p187),7.1-7.7全做,7.8-7.12中选做两道,要求给出程序执行结果。 7-1、 #include stdio.h int Square(int i) { return i*i; } int main() { int i=0; i=Square(i); for(; i3;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=13 成立 静态变量i=i+square(2)=2+4=6; 输出 6; 循环变量i=i+1=2; I=23 成立 静态变量(i保持原值)i=6; i=i+square(6)=6+36=42; 输出42; 循环变量i=i+1=3; I=33不成立退出循环 输出循环变量i=3 7-2、 #include stdio.h int hour,minute,second; /*定义全局变量*/ void update() { second ++; if(second == 60) { second=0; minute++; } if(minute==60) { minute=0; hour++; } if(hour==24) hour=0; } void display() { printf(%d : %d : %d\n,hour,minute,second); } void delay() { int t; for (t=0;t100000000;t++); /*用循环体为空语句的循环实现延时*/ } int main() { int i; second=0; for(i=0;i1000000;i++) { update(); /*利用循环控制时钟运行时间*/ display(); /*显示时,分,秒*/ delay(); /*模一尺时间为1秒*/ } return 0; } 结果: 自动跳出时间 7-3、 #include stdio.h /*max()函数 功能:找两个数的最大值 入口参数:两个整数a,b 返回值:两数的最大值 */ int max(int a, int b) { int max=0; max = (ab)?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 stdio.h /*LCM()函数 功能:计算两个整数的最小公倍数 入口参数:两整数a,b 返回值:最小公倍数 */ int LCM(int a,int b) { int i=0; /*循环变量*/ int min=0; /*循环寻找范围的最小值*/ int max=0; /*循环寻找范围的最大值*/ min = (ab)?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{ /*输入整数的合法
显示全部
相似文档