C++程序设计实验报告(二)

来源:互联网 发布:autodesk autocad mac 编辑:程序博客网 时间:2024/06/07 06:54

C++程序设计实验报告(二)
       (班级:计114-3,学号:201158504323,姓名:宋本一)

实验内容:C++程序的单步调试
实验目的:掌握简单C++程序的单步执行方法,以及在调试中观察变量值变化的方法
实验步骤:
(1)新建C++源程序
(2)单步执行程序并观察,包括执行到光标位置、设置和利用断点等方法
(3)修改程序:请同组同学给你改动程序后,将错误的程序改正过来。


源程序:

文件名称:gcd.cpp

* 作 者:宋本一
* 完成日期:2011年 9月28日
* 版 本号:v1.0

* 问题描述:求出两个整数的最大公约数
* 输入:两个正整数
* 输出:这两个正整数的最大公约数
* 算法:辗转相除法
* 算法描述:

* 设变量a,b为两个非负整数
* 若a<b, 交换a和b的值
* 当b不等于0,重复执行
* 求a除以b的余数,存入变量r
* 将b的值赋予a
* 将r的值赋予b
* 输出a的值
*/

#include "iostream"
using namespace std;
int gcd();
void main()
{
int gcd(int x, int y);
int m,n,g;
cout<<"输入两个数字:"; //在执行时,请输入两个正整数
cin>>m>>n;
g = gcd(m,n);
cout<<"最大公约数:"<<g<<endl;
}

int gcd(int a, int b)
{
int t,r;
if (a < b) //交换 a 和 b
{
t=a;
a=b;//同学将此行改为删去,通过单步调试发现并改正错误
b=t;
} //单步调试中,要注意变量的变化过程
while (b!= 0)
{
r=a%b;
a=b;
b=r;
}
return a;//同学改动为“return b”,经过输入12、23两个数字所得结果为“0”发现错误并改正
}

运行结果:

C++程序设计实验报告(二)

实验总结:学会了单步调试、设置断点等方法,对程序的调试有了初步的认识。