




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四 循环结构程序设计一、 实验目的1熟悉使用while语句,do-while语句和for语句实现循环的方法。2学习调试程序的方法。二、 实验要求1. 熟悉VC6.0环境;2. 按照编程风格要求正确写源程序3. 能得到正确的程序运行结果4. 使用断点方式进行程序调试。5. 本次实验要求写实验报告。三、 主要仪器及耗材计算机及VC6.0软件四、 基础实验1.输入以下程序,查看输出结果。#include void main() int x,y,z,t; scanf(“%d,%d”,&x,&y); if(xy) t=x;x=y;y=t; z=x; do if(z%x=0&z%y=0) break;
2、 else z+; while(1); printf(“gbs=%dn”,z);输入:5,6 输出: gbs=30 程序功能: 计算两个数之间的最小公倍数 2. 输入以下程序,查看输出结果。#include void main() int n ; for(n=100;n=200;n+) if(n%5=0) continue; printf(%d ,n); printf(n); 输出: 100到200之间不能被5整除的数 程序功能: 输出100到200之间不能被5整除的数 3.程序改错.本程序实现求1+1/2+1/3+1/10。1 #include 2 void main()3 4 int k;
3、5 double s;6 k=0;7 s=0;8 do 9 10 s=s+1/k;11 k+;12 while (k=10);13 printf(s=%.2ldn,s);14 (1)利用断点调试程序方法调试程序,请填写出错情况:行号出错提示出错含义出错原因及修改10Integer Divide by Zero 分母为零k的初值为零,将k赋初值为1,s也赋值为113输出的格式错误把%ld改成%lf12条件错误将k=10改成k=1010 (2)修改后的程序及运行结果:#include void main()int k;double s;k=1;s=0;dos=s+1.0/k;k+;while (k
4、=10);printf(s=%.2lfn,s); 输出: s=2.93 4.编程。求1到n中能被3或7整除的数之和。分别用for循环语句和while循环语句完成本题。程序输出示例:#include void main()int a=3,b=7,n,sum;printf(请输入n的值:);scanf(%d,&n);for(sum=0;n=0;n-)if(n%3=0|n%7=0)sum=sum+n;continue;printf(sum=%dn,sum);/*#include void main() int a=3,b=7,n,sum=0; printf(请输入n的值:); scanf(%d,&n
5、); while(n=0) if(n%3=0|n%7=0) sum=sum+n;n-; printf(sum=%dn,sum);*/五、 拓展实验:1. 程序填空。 求n!#include void main()int n,i=1;long m;m=1;printf( 请输入一个正整数: );scanf(%d,&n);while (i=n)m=m*i ;i+ ;printf(%d!=%dn,n,m);2.程序改错。输入一个正整数 n, 再输入n 个整数,输出最大值。输出示例:提示:该程序使用“打擂台”算法。1 #include 2 void main( )3 4 int i=1,max,n,t
6、;5 max=0;6 printf(请输入要比较的整数个数:);7 scanf(%dn,&n);8 for(in;i+);9 10printf(请输入要比较第%d个数:,i);11scanf(%d,&t);12if(maxt) max=t;13 14 printf(max=%dn,max);15 (1)利用断点调试程序方法调试程序,请填写出错情况:行号出错提示出错含义出错原因及修改8missing ; before )丢失分号在in的前面加上分号8多了一个分号删除分号7没有输出结果多了一个换行符删除换行符 (2)修改后的程序及运行结果:#include void main()int i=1,m
7、ax,n,t;max=0;printf(请输入要比较的整数个数:);scanf(%d,&n);for(;i=n;i+)printf(请输入要比较第%d个数:,i);scanf(%d,&t);if(maxt) max=t;printf(max=%dn,max);输出: max=34 3.编程。一位卡车司机违反交通规则,撞死了行人。当时有三位目击者,都没有看清卡车的牌照号码,只记住了牌照的某些特征:甲记住前两个数字是相同的,乙记住牌照的后两位数字是相同的,丙是一个数学家,他说:“牌照号码肯定是一个四位数,并且这个四位数恰好是一个整数的平方。”根据这些,你能否正确判断出牌照号码?#include #
8、include void main()int g,s,b,q,x;for(x=1000;x=9999;x+)q=x/1000;b=(x/100)%10;s=(x/10)%10;g=x%10; if(q=b)&(g=s)if(int) (sqrt(x)=sqrt(x) printf(%dn,x);六、 综合实验:(选做两题)1.一个班有若干名学生,要求用户从键盘输入每个学生语文课的成绩后输出该班学生的语文课平均成绩,其中学生人数由用户指定。程序输出示例:#include void main()int n,fs,i,sum=0,sz10000;float aver;printf(请输入人数:);s
9、canf(%d,&n);for(i=0;in;i+) printf(请输入第%d个学生的分数:,i+1);scanf(%d,&fs);szi=fs;sum=sum+szi;aver=(float) sum/n;printf(aver=%.2fn,aver);2.有一个简易计算机,可以实现基本的加、减、乘、除四则运算,要求输入数据和运算符,输出数据的运算及其结果,并可以进行下一次运算。程序输出示例:#include void main()float a,b; char c,d;while(1)printf(请输入算式!);scanf(%f%c%f,&a,&c,&b);switch(c)case
10、+: printf(=%fn,a+b); break;case -: printf(=%fn,a-b); break;case *: printf(=%fn,a*b); break;case /: if(b=0) printf(除数不能为零!); else printf(=%fn,a/b); break;default: printf(请输入正确的算式!n);break; printf(是否还要继续计算,按任意键继续,按n退出!); getchar(); d=getchar(); if(d=n) break;3.编写一个猜数字的游戏。先由计算机随机产生一个1-100之间的整数供玩游戏者猜测,玩游戏者可以通过游戏提示来进行猜测,直到猜测出这个数字。如果猜对了,则在屏幕上输出猜了多少次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- “媒介化抗争”变迁-行动逻辑的转变与社交媒体时代的内在机制
- 课题申报书:新课程背景下生物学选课走班管理及实施情况调查研究
- 课题申报书:心理关注学生的家校社协同机制研究
- 不完整钟机心企业ESG实践与创新战略研究报告
- 新能源汽车产业链分析-全面剖析
- 食品服务业顾客投诉处理机制-全面剖析
- 颈静脉怒张预防策略研究-全面剖析
- 数字化转型对传统电视的影响-全面剖析
- 电容器行业专利分析-全面剖析
- 高速互联技术发展研究-全面剖析
- GB 21258-2024燃煤发电机组单位产品能源消耗限额
- 新进(转岗)职工三级安全教育培训表
- GB/T 44347-2024乡村绿化技术规程
- (修订版)粮油质量检验员理论考试复习题库-下多选、判断题
- 保险行业客户画像分析与精准营销方案
- 沪教版小学六年级数学应用题150道及答案
- 北师大版四年级下册小数乘法竖式计算练习100题及答案
- 2024年湖南省长沙市中考地理试卷真题(含答案解析)
- 《中国健康成年人身体活动能量消耗参考值》(编制说明)
- 食堂大米采购招标文件
- CJT 216-2013 给水排水用软密封闸阀
评论
0/150
提交评论