c语言知识学习第七章课后题
- 格式:doc
- 大小:1.20 MB
- 文档页数:27
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 成立
静态变量i=i+square(2)=2+4=6;
输出6;
second=0;
for(i=0;i<1000000;i++)
{
update(); /*利用循环控制时钟运行时间*/
display(); /*显示时,分,秒*/
delay(); /*模一尺时间为1秒*/
}
return 0;
}
结果:
自动跳出时间
7-3、
#include
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)
{
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; /*输入的值*/
{
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; /*所求最终结果*/
static long p=1;
p=p*n;
return p;
}
结果:
7-7、
(1)穷举法:
#include
int Gcd(int a,int b);
void main()
{
int x=0; /*键盘键入两个数*/
int y=0;
int m=0; /*接收Gcd的返回值*/
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()
{
int x=0; /*键盘键入两个数*/
int y=0;
int m=0; /*接收Gcd的返回值*/
if(r!=0)
{
do{
a=b;
b=r;
r=a%b;
}while(r!=0);
}
return b;
}
结果:
(3)递归方法:
#include
if (a==b) /*递归出口*/ return a;
else
{
if(a>b)
return Gcd(a-b,b);
else
return Gcd(b,b-a);
}
}
结果:
7-9、
#include
/*old()函数
功能:计算第i个人的年龄
入口参数:人数i
7-10、
#include
void main()
{
int flag=0; /*设置标志变量*/
int a=0; /*百位*/
int b=0; /*十位*/
int c=0; /*个位*/
int m=0; /*代表acb*/
int n=0; /*代表bac*/
int p=0; /*代表bca*/
int q=0; /*代表cab*/
int r=0; /*代表cba*/
int i=0; /*从100~999中找abc*/ int sum=0; /*观众计算得结果*/