正在加载图片...
答:本程序包含有三个错误,其中两个是编译错误,它们是:预处理命令不能以分号结 東:变量n未定义就被引用。第三个错误是未实现程序的要求:应输出“n=5”而实际输 出的是“n=3+2”,这个错误即不是编译错误也不是运行错误,而是属于算法错误 1.11请你改写例1.1,要求是去掉求最大公约数那个函数。 答:下面是它的一种改写方案: include <stdio. h> /*预处理命令* #include<stdlib. h> /*预处理命令* int lcm(int, int) /*求最小公倍数函数原型声明* int main(void) /*以下是主函数模块* int a. b /*定义两个整型变量a和b*/ printf(" Enter2 Integers: a and b.(a>0,b>0):");/*输出提示行*/ scanf(%d%d",a, &b /*输入a和b*/ printf("lcm(%d, %d)=%d \n, a, b, lcm(a, b)) /*输出结果*/ return EXIT SUCCESS /*程序正常结束返回*/ int Icm(int m, int n) /*以下是求最小公倍数函数模块*/ nt a, b,r: while(b!=0) r= a %b return mkn/a;/*返回函数计算结果*/答:本程序包含有三个错误,其中两个是编译错误,它们是:预处理命令不能以分号结 束;变量 n 未定义就被引用。第三个错误是未实现程序的要求:应输出“n = 5”而实际输 出的是“n = 3+2”,这个错误即不是编译错误也不是运行错误,而是属于算法错误。 1.11 请你改写例 1.1,要求是去掉求最大公约数那个函数。 答:下面是它的一种改写方案: #include <stdio.h> /* 预处理命令 */ #include<stdlib.h> /* 预处理命令 */ int lcm(int,int); /* 求最小公倍数函数原型声明 */ int main(void) /* 以下是主函数模块 */ { int a, b; /* 定义两个整型变量 a 和 b */ printf( "Enter 2 integers:a and b.(a>0,b>0): " ); /* 输出提示行 */ scanf( "%d%d",&a,&b ); /* 输入 a 和 b */ printf( "lcm(%d, %d) = %d \n",a,b,lcm(a,b)); /* 输出结果 */ return EXIT_SUCCESS; /* 程序正常结束返回 */ } int lcm(int m,int n) /* 以下是求最小公倍数函数模块 */ { int a,b,r; a = m; b = n; while(b != 0) { r = a % b; a = b; b = r; } return m*n/a; /* 返回函数计算结果 */ }
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有