实验项目四结构化程序设计循环结构Word文件下载.docx
- 文档编号:19978319
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:17
- 大小:364.90KB
实验项目四结构化程序设计循环结构Word文件下载.docx
《实验项目四结构化程序设计循环结构Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验项目四结构化程序设计循环结构Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
例项目名为:
2013050201_***_01)
1.分别用while、do-while、for语句编程,求数列前20项之和:
2/1,3/2,5/3,8/5,13/8·
·
算法提示:
1)定义实变量sum、term、a、b、c,整变量i
2)初始化:
sum=0,分子a=2,分母b=1
3)初始化:
i(计数器)=1
4)计算第i项term=a/b
5)累加sum=sum+term
6)计算c=a+b,更新b=a,更新a=c
7)计数器加1,i++
8)重复4、5、6、7,直到i>
20
9)输出2位精度的结果
#include<
stdio.h>
intmain()
{
floatsum,term,a,b,c;
inti;
sum=0,a=2,b=1,i=1;
for(i=1;
i<
21;
i++)
{term=a/b;
sum=sum+term;
c=a+b,b=a,a=c;
}
printf("
前20项的和为:
%.2f\n"
sum);
return0;
}
while(i<
21)
i++;
2.计算多项式的值:
s=1!
+2!
+3!
+4!
+·
+20!
该多项式迭代公式为:
term=term*i,sum=sum+term
注意:
哪些变量需要初始化?
变量应采用什么类型?
把每一次迭代结果输出,程序应做怎样的修改?
3输入正数n,要求输出Fibonacci数列的前n项。
1,1,2,3,5,8……
intmain()
inta,b,c,n,i;
a=1,b=1;
scanf("
%d"
&
n);
%d,%d,"
a,b);
for(i=3;
=n;
{c=a+b,a=b,b=c;
%d,"
c);
if(i%10==0)printf("
\n"
);
4下面是计算s=n!
的源程序,在这个源程序中存在若干语法和逻辑错误。
要求在计算机上对这个例子源程序进行调试修改,使之能够正确完成指定任务。
例如,8!
=40320。
#include<
{
inti,n,s=1;
printf("
Pleaseentern:
"
scanf("
n);
for(i=1,i<
=n,i++)
s=s*i;
%d!
=%d"
n,s);
}
return0;
修改上述计算s=n!
的源程序,要求输入改为“整数S”,输出改为“满足n!
>
=S的最小整数n”。
例如,输入整数为40310,输出结果为n=8。
。
要求:
每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)
5.分析题
(1)先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果进行比较,若分析有误,试找出原因。
答:
要想循环,则while后面不加分号
(2)若把第5行中的k++改为++k,结果如何
答:
输出Finalk=1Finalk=2
6.分析题
<
>
<
#
(2)若把第7行中的i%2改为!
(i%2),结果如何变化?
#
(3)若把第7行中的continue改为break,结果如何变化?
通过(3)的操作,你对break和continue语句有什么认识?
break语句跳出循环,不再重复,continue语句本次循环不输出继续执行循环语句
7.分析题
####
###*
##**
#***
8.分析题
(1)先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果进行比较,若分析有误,试找出原因。
b=22
(2)画出程序的流程图。
9.编写一个程序,打印10行杨辉三角。
每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。
#include"
stdio.h"
main()
{inta[11][20],i,j;
//初始化
for(i=0;
11;
for(j=0;
j<
20;
j++)
a[i][j]=0;
//给数组附值
10;
{for(j=0;
=i;
{if(j<
1)a[i][j]=1;
//开头的第一个数为1
elseif(i==0)break;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}}//杨辉三角的规律
%d"
a[i][j]);
10.编写程序输出m~n之间的素数(n>
m>
3),m和n由用户从键盘上输
math.h>
intm,n,i,k,a=0;
%d,%d"
n,&
m);
for(n;
n<
=m;
n++)
{k=sqrt(n);
for(i=2;
=k;
if(n%i==0)break;
if(i>
=k+1){printf("
n);
a=a+1;
if(a%10==0)printf("
11.输入两个正整数m和n,求其最大公约数和最小公倍数。
intm,n,team,a,b,c;
输入m和n:
m,&
if(m<
n)
{team=n;
n=m;
m=team;
a=m;
b=n;
while(b)
{c=a%b;
a=b;
b=c;
最大公约数为:
a);
最小公倍数为:
%d\n"
(m*n)/a);
12.编程序按下列的级数求cos(x)的值并输出:
x的值由键盘输入(代表弧度),运算精度保持到最后一项的绝对值小于10-6为
intn=2,count=1,sign=-1;
floatx;
doublesum,term;
inputx:
%f"
x);
sum=1;
term=1;
do
term=-term*x*x/(n*(n-1));
sum+=term;
n=n+2;
count++;
while(fabs(term)>
=1e-6);
cos(x)=%f\n"
13.编写程序求一个四位数并输出。
已知该整数的个数为2,十位为1,且减去7后该数能被7整除,减去8后能被8整除,减去9后能被9整除。
inta,b,m;
for(a=1;
a<
=9;
a++)
{
for(b=0;
b<
b++)
{m=a*1000+b*100+12;
if(m%7==0&
&
m%8==0&
m%9==0)printf("
m);
elsecontinue;
四、分析与讨论
要想学好程序设计,不但要学好理论知识,我觉得上机实践同样重要!
五、教师评语
签名:
日期:
成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 项目 结构 程序设计 循环