c语言第七章课后题Word文档下载推荐.docx
- 文档编号:14106103
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:18
- 大小:77.10KB
c语言第七章课后题Word文档下载推荐.docx
《c语言第七章课后题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言第七章课后题Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
开头定义square()函数
功能:
计算一个数的平方
入口参数:
整数x
返回值:
i*i
主函数:
i=0;
进入循环:
静态变量i=1;
i=i+square
(1)=2;
输出2;
循环变量i=0+1=1;
i=1<
3成立
静态变量i=i+square
(2)=2+4=6;
输出6;
循环变量i=i+1=2;
I=2<
静态变量(i保持原值)i=6;
i=i+square(6)=6+36=42;
输出42;
循环变量i=i+1=3;
I=3<
3不成立退出循环
输出循环变量i=3
7-2、
inthour,minute,second;
/*定义全局变量*/
voidupdate()
second++;
if(second==60)
second=0;
minute++;
if(minute==60)
minute=0;
hour++;
if(hour==24)
hour=0;
voiddisplay()
%d:
%d:
%d\n"
hour,minute,second);
voiddelay()
intt;
for(t=0;
t<
100000000;
t++);
/*用循环体为空语句的循环实现延时*/
inti;
second=0;
for(i=0;
i<
1000000;
update();
/*利用循环控制时钟运行时间*/
display();
/*显示时,分,秒*/
delay();
/*模一尺时间为1秒*/
自动跳出时间
7-3、
/*max()函数
找两个数的最大值
两个整数a,b
两数的最大值
*/
intmax(inta,intb)
intmax=0;
max=(a>
b)?
a:
b;
returnmax;
voidmain()
intx=0;
/*输入的两个数x,y*/
inty=0;
intm=0;
/*m用于接收max()函数的返回值*/
inputtwointegernumbers:
"
);
scanf("
%d,%d"
&
x,&
y);
m=max(x,y);
themaxnumberis%d\n"
m);
7-4
/*LCM()函数
计算两个整数的最小公倍数
两整数a,b
最小公倍数
intLCM(inta,intb)
/*循环变量*/
intmin=0;
/*循环寻找范围的最小值*/
/*循环寻找范围的最大值*/
min=(a>
/*最小值为a,b中的最大值*/
max=a*b;
/*最大值为a*b*/
for(i=min;
=max;
i++)
if(i%a==0&
&
i%b==0)
returni;
intx;
/*键盘输入两整数x,y*/
inty;
intm;
/*m用于接收LCM()函数的返回值*/
do{/*输入整数的合法数据*/
输入两个正整数:
scanf("
}while(x<
0||y<
0);
m=LCM(x,y);
最小公倍数为:
7-5、
longfact(intn);
intn=0;
/*输入的值*/
/*接收fact()函数的返回值*/
do{
inputn:
%d"
n);
}while(n<
for(i=1;
=n;
i++)
m=fact(i);
%d!
=%ld\n"
i,m);
/*fact函数
计算n!
n
n!
longfact(intn)
staticlongp=1;
p=p*n;
returnp;
7-6、
longs=0;
/*所求最终结果*/
s=s+m;
1!
+2!
+...+n!
=%ld\n"
s);
7-7、
(1)穷举法:
intGcd(inta,intb);
/*键盘键入两个数*/
/*接收Gcd的返回值*/
输入两个正数:
m=Gcd(x,y);
最大公约数:
/*Gcd()函数
计算两数的最大公约数
两个正数a,b
最大公约数
intGcd(inta,intb)
intt=0;
t=(a<
/*t为a,b中的较小者*/
for(i=t;
i>
=1;
i--)
if(a%i==0&
b%i==0)
(2)欧几里得算法
intr=0;
r=a%b;
if(r!
=0)
do{
a=b;
b=r;
r=a%b;
}while(r!
=0);
returnb;
(3)递归方法:
if(a==b)/*递归出口*/
returna;
else
if(a>
b)
returnGcd(a-b,b);
else
returnGcd(b,b-a);
7-9、
/*old()函数
计算第i个人的年龄
人数i
年龄
intold(inti)
if(i==1)
return10;
returnold(i-1)+2;
intx=5;
/*人数为5*/
/*接收old()函数的返回值*/
y=old(x);
第五个人的年龄为:
y);
7-10、
intflag=0;
/*设置标志变量*/
inta=0;
/*百位*/
intb=0;
/*十位*/
intc=0;
/*个位*/
/*代表acb*/
/*代表bac*/
intp=0;
/*代表bca*/
intq=0;
/*代表cab*/
/*代表cba*/
/*从100~999中找abc*/
intsum=0;
/*观众计算得结果*/
说出你的计算结果:
sum);
for(i=100;
=999;
a=i/100;
b=i/10%10;
c=i%10;
m=a*100+c*10+b;
n=b*100+a*10+c;
p=b*100+c*10+a;
q=c*100+a*10+b;
r=c*100+b*10+a;
if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第七 课后