实验四循环结构案例.doc
文本预览下载声明
实验四 循环结构程序设计
实验目的
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(请输入
显示全部