#include <iostream.h> int fun(int x) { if(x<0) return -1; else if(x==0) return 0; else return 1; } void main() { int x=-1; cout<<fun(x++)<<" "; cout<<fun(x++)<<" "; cout<<fun(x++); }
时间: 2023-06-19 07:09:52 浏览: 74
该程序的输出结果为:-1 0 1。
程序定义了一个名为fun的函数,该函数的作用是判断传入的参数x的值是否小于、等于或大于0,分别返回-1、0和1。
在主函数main中,初始将x的值赋为-1,然后依次调用fun函数并输出其返回值。在第一次调用fun时,x的值为-1,所以返回-1并将x的值加1,此时x的值为0。接着第二次调用fun时,x的值为0,所以返回0并将x的值加1,此时x的值为1。最后第三次调用fun时,x的值为1,所以返回1。
因此程序的输出结果为-1 0 1。
相关问题
逐句分析下列程序:#include "iostream.h" class CTest {public: int x,y; CTest ( int a=1,int b=1 ) :x(a), y(b) { } int fun1() { int k; if ( x<y ) { k=x; x=y; y=k; } if( x%y ==0 ) return y; else { k=x%y; x=y; y=k; cout<<k<<endl; return fun1(); } } int fun2( ) { return ( x * y ) / fun1(); } }; void main() { CTest t1(35,15); cout<<t1.fun1()<<endl; CTest t2(12,32); cout<<t2.fun2()<<endl; }
这是一个 C++ 程序,它包含了一个名为 CTest 的类和一个 main 函数。下面逐句分析:
```
#include "iostream.h"
```
这是一个预处理指令,将 iostream.h 头文件包含进来,以便在程序中使用输入输出流。
```
class CTest {
public:
int x, y;
CTest(int a = 1, int b = 1) : x(a), y(b) { }
int fun1()
{
int k;
if (x < y)
{
k = x;
x = y;
y = k;
}
if (x % y == 0) return y;
else
{
k = x % y;
x = y;
y = k;
cout << k << endl;
return fun1();
}
}
int fun2()
{
return (x * y) / fun1();
}
};
```
这是定义 CTest 类的部分。CTest 类包含有两个成员变量 x 和 y,在构造函数中可以指定其默认值为 1。CTest 类还包含有两个成员函数 fun1 和 fun2。fun1 函数是递归函数,用于计算 x 和 y 的最大公约数,它返回 y 的值,同时在每次递归调用时输出 k 的值。fun2 函数用于计算 x 和 y 的最小公倍数,它调用了 fun1 函数。
```
void main()
{
CTest t1(35, 15);
cout << t1.fun1() << endl;
CTest t2(12, 32);
cout << t2.fun2() << endl;
}
```
这是主函数的部分,它创建了两个 CTest 类的对象 t1 和 t2,并分别调用了它们的 fun1 和 fun2 函数,将结果输出到标准输出流。
分析下列程序,并显示结果:#include "iostream.h" class CTest {public: int x,y; CTest ( int a=1,int b=1 ) :x(a), y(b) { } int fun1() { int k; if ( x<y ) { k=x; x=y; y=k; } if( x%y ==0 ) return y; else { k=x%y; x=y; y=k; cout<<k<<endl; return fun1(); } } int fun2( ) { return ( x * y ) / fun1(); } }; void main() { CTest t1(35,15); cout<<t1.fun1()<<endl; CTest t2(12,32); cout<<t2.fun2()<<endl; }
这是一个 C++ 程序,功能是定义了一个类 CTest,其中包含两个成员变量 x 和 y,以及两个成员函数 fun1 和 fun2。
在主函数 main 中,创建了两个 CTest 类的对象 t1 和 t2,并分别调用了 fun1 和 fun2 函数。
fun1 函数的作用是求 x 和 y 的最大公约数。如果 x < y,则交换 x 和 y。然后判断 x 和 y 是否互质,若是则返回 y,否则将 x 取模 y 的结果赋值给 k,然后将 y 赋值为 k,x 赋值为原来的 y,再递归调用 fun1 函数,直到 x 和 y 互质为止。在递归过程中,每次求出的 k 值都会输出到屏幕上。
fun2 函数的作用是求 x 和 y 的最小公倍数,即 x 和 y 的乘积除以它们的最大公约数。
程序运行结果为:
10
96
其中,第一行输出的是 t1.fun1() 的返回值,即 10;第二行输出的是 t2.fun2() 的返回值,即 96。
阅读全文