学号_姓名_班级_Lab5精选
姓名 学号 班级
实验内容和实验要求(上机指导P132)
1.练习题一
运行结果截图:
思考题及问题:
运行结果截图:
运行结果截图:
答案:
答:穷举法比较简单,但在两数较大时,运算次数会很大。而辗转相除法能有效减少运算次数,因而更先进。 2.练习题二
运行结果截图:
思考题及问题:
答案:
答:调用数学库函数中的fabs函数,使fabs(误差)1e-6,其中1e-6,为科学计数表示法。
3.练习题三
运行结果截图:
思考题及问题:
答案:
源程序文本(修改部分红色字体标注)
#include stdio.h
void main()
{
int i,j;
for(i=1;i=10;i++)
{
for (j=1;j=i;j++)
printf( );
for (j=21-2*i;j0;j--)
printf(*);
printf(\n);
}
printf(\n);
for (i=1;i=10;i++)
{
for(j=1;j=i;j++)
printf( );
for(j=11-i;j0;j--)
printf(*);
printf(\n);
}
printf(\n);
for (i=1;i=10;i++)
{
for (j=11-i;j0;j--)
printf( );
for(j=1;j=i;j++)
printf(%3d,2*j-1);
printf(\n);
}
printf(\n);
}
因为最后一部分图形为奇数行,所以最后一部分删除。
运行结果截图:
② 答案:
源程序文本(修改部分红色字体标注)
#include stdio.h
void main()
{
int i,j;
for(i=1;i=5;i++)
{
printf(%30c, );
for (j=1;j=i;j++)
printf( );
for (j=11-2*i;j0;j--)
printf(*);
printf(\n);
}
printf(\n);
for (i=1;i=5;i++)
{
printf(%30c, );
for(j=1;j=i;j++)
printf( );
for(j=6-i;j0;j--)
printf(*);
printf(\n);
}
printf(\n);
for (i=1;i=5;i++)
{
printf(%30c, );
for (j=6-i;j0;j--)
printf( );
for(j=1;j=i;j++)
printf(%d,2*j-1);
printf(\n);
}
printf(\n);
for(i=1;i=4;i++)
{
printf(%30c, );
for(j=5-i;j0;j--)
printf( );
for(j=1;j=2*i-1;j++)
printf(%c,A+i-1);
printf(\n);
}
for(i=1;i=3;i++)
{
printf(%30c, );
for(j=1;j=i+1;j++)
printf( );
for(j=7-2*i;j0;j--)
printf(%c,D-i);
printf(\n);
}
} 运行结果截图:
自测练习
1.自测练习一
源程序文本:
#include stdio.h
#include math.h
void main()
{
int n,i,a[6],k=0;
for (n=10000;n=99999;n++)
{
a[0]=n;
for (i=0;i=4;i++)
{
a[i+1]=int(a[i]/pow(10,4-i))%10;
}
if (a[1]+a[2]+a[3]+a[4]+a[5]==9n%5==0)
k++;
}
printf(所求个数为:%d\n,k);
}
运行结果截图:
思考题答案:
答:n能被5整除的条件表达式还能表示为a[1]==0||a[1]==5。
2.自测练习二
源程序文本:
#include stdio.h
#include math.h
void main()
{
int n,i=0,j,a;
scanf(%d,n);
a=n ;
while(a)
{
a/=10;
i++;
}
原创力文档

文档评论(0)