c语言第七章课后题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;
}
结果:
int t;
for (t=0;t<0;t++); /*用循环体为空语句的循环实现延时*/ }
int main()
{
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中的最大值*/
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);
printf("%d!=%ld\n",i,m);
}
}
/*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; /*所求最终结果*/
7-7、
(1)穷举法:
#include <>
int Gcd(int a,int b);
void main()
{
int x=0; /*键盘键入两个数*/
int y=0;
int m=0; /*接收Gcd的返回值*/
do{
printf("输入两个正数:");
scanf("%d,%d",&x,&y);
}while(x<0 || y<0);
m = Gcd(x,y);
printf("最大公约数:%d\n",m); }
/*Gcd()函数
功能:计算两数的最大公约数
入口参数:两个正数a,b
返回值:最大公约数
*/
int Gcd(int a,int b)
{
int i=0;
int t=0;
t=(a
for(i=t; i>=1; i--)
{
if(a%i==0 && b%i==0)
return i;
}
}
结果:
(2)欧几里得算法
#include <>
int Gcd(int a,int b);
void main()