C语言程序设计实验报告(四).doc11111111111111111
C语言程序设计实验报告
姓 名吴文重学 号52系 别数学系班级2班主讲教师徐时芳指导教师徐时芳实验日期-11-8专业10数本二班课程名称C语言程序设计同组实验者一、实验名称:
实验四、循环结构程序设计实验目的:
1.学习循环语句for、while和do-while语句的使用方法。
2.学习用循环语句实现各种算法,例如穷举法、迭代法等。
3.进一步熟悉TC集成环境的使用方法三、实验内容及要求:
内容:
1.下列程序计算SUM的值。调试该程序,使之能正确地计算SUM。写出调试过程。 SUM=1+1/2+1/3+...+1/n
main( )
{
int t,s,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
t=1/i;
s=s+t;
printf("s=%f\n",s);
}
在调试过程中,用单步执行的方法观察变量s和t的值的变化,找到程序中存在的问题,加以改正。
2.下面程序的功能是计算n!。
main()
{
int i,n,s=1;
printf("Please enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s*i;
printf("%d! = %d",n,s);
}
首次运行先输入n=4,输出结果为4!=24,这时正确的。为了检验程序的正确性,再输入n=10,输出为10!=24320,这显然是错误的。为了找到程序的错误,可以通过单步执行来观察变量的变化。分析产生这种现象的原因,把程序改正过来,再用n=20进行实验,分析所得到的结果。
3.编写程序实现输入整数n,输出如下所示由数字组成的菱形。(例如n=5)
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
四、实验步骤(或记录)
#include
void main( )
{
int i,n;
float t,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{ t=1.0/i;
s=s+t;
}
printf("s=%f\n", s);
}
#include
void main()
{
int i,n;
double s=1;
printf("Please enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=s*i;
}
printf("%d!= %lf",n,s);
}
#include
void main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%2d",j);
for(j=i-1;j>=1;j--)
printf("%2d",j);
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%2d",j);
for(j=i-1;j>=1;j--)