文档详情

实验四循环结构案例.doc

发布:2017-06-16约4.08千字共11页下载文档
文本预览下载声明
实验四 循环结构程序设计 实验目的 1.熟悉使用while语句,do-while语句和for语句实现循环的方法。 2.学习调试程序的方法。 实验要求 熟悉VC6.0环境; 按照编程风格要求正确写源程序 能得到正确的程序运行结果 使用断点方式进行程序调试。 本次实验要求写实验报告。 主要仪器及耗材 计算机及VC6.0软件 基础实验 1.输入以下程序,查看输出结果。 #include stdio.h 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==0z%y==0) break; else z++; }while(1); printf(“gbs=%d\n”,z); } 输入:5,6 输出: gbs=30 程序功能: 计算两个数之间的最小公倍数 2. 输入以下程序,查看输出结果。 #include stdio.h 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 stdio.h 2 void main() 3 { 4 int k; 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=%.2ld\n,s); 14 } (1)利用断点调试程序方法调试程序,请填写出错情况: 行号 出错提示 出错含义 出错原因及修改 10 Integer Divide by Zero 分母为零 k的初值为零,将k赋初值为1,s也赋值为1 13 输出的格式错误 把%ld改成%lf 12 条件错误 将k==10改成k=10 10 (2)修改后的程序及运行结果: #include stdio.h void main() { int k; double s; k=1; s=0; do { s=s+1.0/k; k++; }while (k=10); printf(s=%.2lf\n,s); } 输出: s=2.93 4.编程。求1到n中能被3或7整除的数之和。分别用for循环语句和while循环语句完成本题。 程序输出示例: #include stdio.h 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=%d\n,sum); } /*#include stdio.h void main() { int a=3,b=7,n,sum=0; printf(请输入n的值:); scanf(%d,n); while(n=0) {if(n%3==0||n%7==0) sum=sum+n; n--; } printf(sum=%d\n,sum); }*/ 拓展实验: 1. 程序填空。 求n! #include stdio.h void main() { int n,i=1; long m; m=1; printf( 请输入一个正整数: ); scanf(%d,n); while (i=n) { m=m*i ; i++ ; } printf(%d!=%d\n,n,m); } 2.程序改错。 输入一个正整数 n, 再输入n 个整数,输出最大值。 输出示例: 提示:该程序使用“打擂台”算法。 1 #include stdio.h 2 void main( ) 3 { 4 int i=1,max,n,t; 5 max=0; 6 printf(请输入
显示全部
相似文档