上机实验五 循环结构程序设计一(带参考答案)
上机实验五 循环结构程序设计(一)
一.目的要求
1.掌握while、do-while、for语句的语法规则、执行流程。
2.比较3种循环语句的异同。
3.按题目要求,完成代码。
二.实验内容
思考问题:3种循环的异同点?能否相互转换?for循环控制单元的表达式与while循环中表达式是如何对应的?
第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位精度的结果
编写程序:
方法一,用while语句:
#include<stdio.h>
void main(){
float s=0, a=2,b=1,c;
int i=1;
while(i<=20){
}
printf(“s=%.2f”,s);
} s=s+a/b; c=a+b; b=a; a=c; i++;
方法二,用do-while语句:
#include<stdio.h>
void main(){
float s=0,a=2,b=1,c;
int i=1;
do {
s=s+a/b;
c=a+b; b=a; a=c; i++;
} while(i<=20);
printf(“s=%.2f”,s);
}
方法三,用for语句:
#include<stdio.h>
void main(){
float s=0,a=2,b=1,c;
int i;
for(i=1;i<=20;i++){
}
printf(“s=%.2f”,s);
} s=s+a/b; c=a+b; b=a; a=c;
第2题、计算多项式的值:s=1!+2!+3!+4!+·····+20!
算法提示:该多项式迭代公式为:term=term*i,sum=sum+term
注意:哪些变量需要初始化?变量应采用什么类型?
编写程序:
#include<stdio.h>
void main(){
int i; double s=0,fact=1; for(i=1;i<=20;i++){
}
printf(“s=%f”,s);
}
把每一次迭代结果输出,程序应做怎样的修改?
第3题、输入x和n,计算并输出下式的值:s=x/1+x/3+……+x/n fact*=i; s=s+fact;
参考答案:
#include <stdio.h>
int main()
{
int n,i;
float x,s=0;
printf("请输入x,n,以,分隔");
scanf("%f,%d",&x,&n);
for(i=1;i<=n;i+=2)
{
s+=(x/i);
}
printf("\ns=%f",s);
}
第4题、输入一批正整数,求出其中的偶数之和。
输入的结束?)
参考答案:
#include <stdio.h>
int main()
{
int sum=0,n; (思考:如何表示
printf("请输入若干正整数,以空格分隔,并以0表示结束"); scanf("%d",&n);
while(n>0)
{
if(n%2==0) sum+=n;
scanf("%d",&n);
}
printf("sum=%d",sum);
}
第6题、输入x,计算并输出下式的值:
s=x/(1*2)+x/(3*4)+x/(5*6)+……
直到最后一项的绝对值小于1E-5
参考答案:
#include <stdio.h>
#include <math.h>
int main()
{
float sum,x,item;
int i=1;
printf("请输入x=");
scanf("%f",&x);
do
{
item=x/(i*(i+1));
sum+=item;
i+=2;
}while(fabs(item)>=1E-5);
printf("sum=%f",sum);
}
第5题、输入正数n,要求输出Fibonacci数列的前n项。3,5,8……
参考答案:
#include <stdio.h>
#include <math.h>
int main()
{
long x1=1,x2=1,x,n,i;
printf("请输入n=");
scanf("%d",&n);
printf("%d\t%d\t",x1,x2);
for(i=3;i<=n;i++)
{
x=x1+x2; ,1,2,1
printf("%d\t",x);
if(i%5==0) //每行输出5个数
printf("\n");
x1=x2;
x2=x;
}
}
第6题、求下列多项式的和,直到最后一项的绝对值小于1E-5。 s=1/2-1/5+1/8-1/11+……
参考答案:
#include <stdio.h>
#include<math.h>
int main()
{
int flag=1;
float sum=0,n=2,item;
do
{
item= flag*1/n;
sum+=item;
flag=-flag;
n+=3;
}while(fabs(item)>=1E-5);
printf("sum=%f",sum);
}
第7题:计算e=1+1/1!+1/2!+1/3!+1/4!......,直到最后一项的绝对值<1E-5。(分别用while语句和do...while语句实现)
参考代码:(do-While语句)
#include <stdio.h>
#include<math.h>
void main()
{
float sum=1,item=1;
int fm=1,i=1;
do
{ sum=sum+item;
i++;
fm*=i;
item=1.0/fm;
}while(fabs(item)>=1E-5);
printf("e=%f\n",sum);
printf("谢谢,按回车键结束");
}
(While语句)
#include <stdio.h>
#include<math.h>
void main()
{
float sum=1,item=1.0;
int fm=1,i=1;
while(fabs(item)>=1E-5)
{
sum=sum+item;
i++;
fm*=i;
item=1.0/fm;
}
printf("e=%f\n",sum);
printf("谢谢,按回车键结束");
}
第8题、给出任意一个位数不确定的正整数,要求分别从低位到高位、从高位到低位逐位分割输出。
比如输入123456,输出6,5,4,3,2,1和1,2,3,4,5,6 从高位到低位的参考答案:
#include <stdio.h>
int main()
{
long n,t=1;
printf("请输入一个长整数n=");
scanf("%ld",&n);
while (n/t!=0)
{
t*=10;
}
t/=10;
while (t!=0)
{
printf("\n%d\t%d\t%d",n,t,n/t);
n=n%t;
t=t/10;
}
putchar('\n');
}
从低位到高位的参考答案
#include <stdio.h>
int main()
{
long n,t=1;
printf("请输入一个长整数n=");
scanf("%ld",&n);
while (n!=0)
{
printf("\n%d\t%d",n,n%10);
n/=10;
}
putchar('\n');
}
第9题、36块砖36人搬,男搬4女搬3,小孩2人搬1砖。要求一次全搬完,问男、女、小孩各需多少(人)?如有多种方案,输出第一种方案及方案的数量 …… 此处隐藏:1675字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




