实验二

实验目的和要求
       1.熟悉引用的概念,掌握引用的定义方法,学会引用在C++程序中的应用
       2.掌握函数的定义和调用方法。
       3.练习重载函数的使用。

实验内容
       1.调试下列程序,写出输出结果,并解释输出结果。
(1)
[cpp]  view plain  copy
  1. //sy2_1.cpp  
  2. #include<iostream>  
  3. using namespace std;  
  4. int main( )  
  5. {  
  6. double dd = 3.9,de=1.3;  
  7. double &rdd=dd,&rde=de;  
  8. cout<<rdd+rde<<','<<dd+de<<endl;  
  9. rdd=2.6;  
  10. cout<<rdd<<','<<dd<<endl;  
  11. de= 2.5;  
  12. cout<<rde<<','<<de<<endl;  
  13. return 0 ;  
  14. }  
结果如下图:

    

(2) 

[cpp]  view plain  copy
  1. //sy2_2.cpp  
  2.  #include<iostream>  
  3. using namespace std;  
  4. int main()  
  5. {  
  6.         void fun(int,int&);  
  7.         int a,b;  
  8.         fun(2,a);  
  9.         fun(3,b);  
  10.         cout<<"a+b="<<a+b<<endl;  
  11.         return 0;  
  12. }  
  13. void fun(int m,int &n)  
  14. {  
  15.         n=m*4;  
  16. }  

结果如下图:


(3)
[cpp]  view plain  copy
  1. #include<iostream>  
  2. using namespace std;  
  3. int &fun(int);  
  4. int aa[5];  
  5. int main()  
  6. {  
  7.           int a=5;  
  8.           for(int i(0);i<5;i++)  
  9.                  fun(i)=a+i;  
  10.           for(int i=0;i<5;i++)  
  11.                 cout<<aa[i]<<" ";  
  12.            cout<<endl;  
  13.            return 0;  
  14. }  
  15. int &fun(int a)  
  16. {  
  17.       return aa[a];  
  18. }  

结果如下图:

    

2.编程完成下列任务

(1)编写一个函数,用于将华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。(sy2_4.cpp)

编写程序如下:

[cpp]  view plain  copy
  1. #include<iostream>  
  2. using namespace std;  
  3. int main()  
  4. {  
  5.     double F;  
  6.     cout<<"F=";  
  7.     cin>>F;  
  8.     double C=(F-32)*5/9;  
  9.     cout<<"C="<<C<<endl;  
  10.     return 0;  
  11. }  

结果如下图:

    

(2)编写重载函数max1可分别求取2个整数、3个整数、2个双精度数和3个双精度数的最大值。(sy2_5.cpp)

编写程序如下:

[cpp]  view plain  copy
  1. #include<iostream>  
  2. using namespace std;  
  3. int max(int a,int b)  
  4. {  
  5.     if(a>b)  
  6.         return a;  
  7.     else  
  8.         return b;  
  9. }  
  10. int max(int a,int b,int c)  
  11. {  
  12.    return max(a,(max(b,c)));  
  13. }  
  14. double max(double q,double w)  
  15. {  
  16.     if(q>w)  
  17.         return q;  
  18.     else  
  19.         return w;  
  20. }  
  21. double max(double q,double w,double e)  
  22. {  
  23.     return max(q,(max(w,e)));  
  24. }  
  25. int main()  
  26. {  
  27.     int a,b,c;  
  28.     cout<<"输入两个整数:";  
  29.     cin>>a>>b;  
  30.     cout<<"2个整数中最大整数是:"<<max(a,b)<<endl;  
  31.     cout<<"输入三个整数:";  
  32.     cin>>a>>b>>c;  
  33.     cout<<"3个整数中最大整数是:"<<max(a,b,c)<<endl;  
  34.     double q,w,e;  
  35.     cout<<"输入两个双精度数:";  
  36.     cin>>q>>w;  
  37.     cout<<"2个双精度中最大双精度数是:"<<max(q,w)<<endl;  
  38.     cout<<"输入三个双精度数:";  
  39.     cin>>q>>w>>e;  
  40.     cout<<"3个双精度中最大双精度数是:"<< max(q,w,e)<<endl;  
  41.     return 0;  
  42. }  

结果如下图:

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值