程序设计c语言 循环控制的实验报告
发布时间:2018-07-02 03:51:16
发布时间:2018-07-02 03:51:16
一、 实验目的。
1.学习使用while语句、do...while语句和for语句实现循环的方法。
2.学习在程序设计中使用循环的方法来实现各种运算。
二、实验内容。
1. 编写程序,输入x和n求y=x+x*x/2+x*x*x/3+…
2. 编写程序,输入m和n,计算m!+n!.
3. 编写程序,输出100~200之间所有的素数,每行输出8个。
三、实验环境
MinGW32系统。
四、 实验步骤和结果
1. 编写程序,输入x和n,用do..while求y=x+x*x/2+x*x*x/3+…
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
main()
{
int n=1,m;
float x,y=0;
scanf("%f,%d",&x,&m);
do
{
y=y+(x/n);
n++;
x=x*x;
}
while(n<=m);
printf("%f",y);
return 0;
}
2) 保存源程序,文件名为do….while语句求值1
3) 运行程序,输出结果如下:
2. 编写程序,输入x和n,用for求y=x+x*x/2+x*x*x/3+…
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
main()
{
float y=0.0,fm=1,fn=0,x,n,m;
scanf("%f,%f",&x,&n);
for(;n>0;fm=fm*x,fn=fn+1,m=fm/fn,y=y+m,n--);
printf("%f",y);
return 0;
}
2)保存源程序,文件名为for语句求值1:
3)输入、输出结果如下:
3. 编写程序,输入x和n,用while求y=x+x*x/2+x*x*x/3+…。
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
include
main()
{
float x, m,fz,fm=1,y=0;
scanf("%f",&fz);
while(fm>=0)
{
fz=x;
m=fz/fm;
y=y+m;
fz=fz*x;
fm++;
}
printf("%f",y);
return 0;
}
2)保存源程序,文件名为while求值语句1
3)输入、输出结果如下:
4. 编写程序,输入x和n,小数点后五位。用while求y=x+x*x/2+x*x*x/3+…
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
main()
{
float m,fz,fm=1,y=0;
scanf("%f",&fz);
while(m>=1e-5)
{
m=fz/fm;
y=y+m;
fz=fz*fz;
fm++;
}
printf("%f",y);
return 0;
}
2)保存源程序,文件名为while求值语句2
3)输入、输出结果如下:
5.编写程序,输入x和n,小数点后五位。用do…while求y=x+x*x/2+x*x*x/3+…
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
int main()
{
float y=0.0,fm=1,fn=1,x,n=1,m;
scanf("%f",&x);
do
{
fm=fm*x;
fn=n;
m=fm/fn;
y=y+m;
n++;
}
while(m>=1e-5||m<=-1e-5);
printf("%f",y);
return 0;
}
2)保存源程序,文件名为do…while求值语句2
3)输入、输出结果如下:
6.编写程序,输入x和n,小数点后五位。用for求y=x+x*x/2+x*x*x/3+…
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
int main()
{
float y=0.0,fm=1,fn=1,x,n=1,m;
scanf("%f",&x);
for(m=1;m>=1e-5||m<=-1e-5;fm=fm*x,fn=n,m=fm/fn,y=y+m,n++);
printf("%f",y);
return 0;
}
2)保存源程序,文件名为for求值语句2
3)输入、输出结果如下:
7.用for语句编写求100-200之间的素数的程序
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
#include
int main()
{
int a,b,c;
c=0;
for(a=100;a<=200;a++)
{ for(b=2;b<=sqrt(a);b++)
if(a%b==0)break;
if(b>sqrt(a))
{printf("%6d",a);
c++;
if (c%8==0)
printf("\n");}}
return 0;
}
2)保存源程序,文件名为for求素数3
3)输入、输出结果如下:
8.用while语句编写求100-200之间的素数的程序.
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
#include
int main()
{
int a,b,c;
c=0;
a=100;
while(a<=200)
{ b=2;
while(b<=sqrt(a))
{if(a%b==0)break;
if(b>sqrt(a))
{ printf("%6d",a);
c++;
if(c%8==0)
printf("\n");
}
b++;
}
a++;}
return 0;
}
2)保存源程序,文件名为while求素数3
3)输入、输出结果如下:
9. 用for计算并输出m!+n!的值
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
main()
{
int m,a=1,c,n,b=1,g,w;
scanf("%d",&m);
for(c=1;c<=m;c++)
a=a*c;
scanf("%d",&n);
for(g=1;g<=n;g++)
b=b*g;
printf("%m!=%d\n",a);
printf("%n!=%d\n",b);
w=a+b;
printf("%d",w);
return 0;
}
2)保存源程序,文件名为for求值4
3)输入、输出结果如下:
10. 用while计算并输出m!+n!的值
1)打开MinGW32集成开发环境,编写程序代码如下:
#include
main()
{
int m,n,a,b,c,g,w;
scanf("%d,%d",&n,&m);
a=1,c=n;
b=1,g=m;
while(n>=1)
{ a=a*n;
n--;
}
while(m>=1)
{
b=b*m;
m--;
}
printf("%d!=%d\n",c,a);
printf("%d!=%d\n",g,b);
w=a+b;
printf("%d",w);
return 0;
}
2)保存源程序,文件名为while求值4
3)输入、输出结果如下:
五、实验分析和总结
1. 通过程序一,主要是让我们区分while,for,do…while三者的用法,及其特点。2. 通过第二个程序,了解和掌握了当语句需要精确到几位小数点之后的while,for,do…while三者的用法,及其特点。3. 通过编写第三个程序,掌握了更为复杂的语句用法,而且还学会了分行输出数据。
4.通过第四个程序,我主要是了解了关于数学方法中对于阶乘的求法。
5.综上所述:收益匪浅。