实验二C ++简单程序设计参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二C++简单程序设计练习
一、实验目的和要求
1.进一步熟悉VC++6.0的集成开发环境。
2.了解C++在非面向对象方面的扩充。
二、实验内容
1输入以下程序,进行编译,如果有错误,请修改程序,直到没有错误为止,并分析运行结果。
#include <iostream>
using namespace std;
void fun(int m,int &n)
{
n=m*5;
}
int main()
{
int x,y;
fun(3,x);
fun(4,y);
cout<<"x+y=<<x+y<<endl;
return 0;
}
2, 编写一个程序,用来分别求2个整数,3个整数,2个双精度数和3个双精度数的最大值。
要求使用函数重载来完成。
#include<iostream>
using namespace std;
int max(int x,int y);
int max(int x,int y,int z);
double max(double x,double y);
double max(double x,double y,double z);
int main()
{
int a,b,c;
double m,n,t;
cin>>a>>b>>c;
cout<<max(a,b)<<endl;
cin>>m>>n>>t;
cout<<max(m,n,t)<<endl;
return 0;
}
int max(int x,int y)
{
return x>y?x:y;
}
double max(double x,double y)
{
return x>y?x:y;
}
int max(int x,int y,int z)
{
int m;
m=x>y?x:y;
return m>z?m:z;
}
double max(double x,double y,double z)
{
double m;
m=x>y?x:y;
return m>z?m:z;
}
3编写一个程序,任意从键盘输入两个字符,能将他们按照由小到大的顺序输出。
要求程序中有一个交换两个字符的函数,其形参是变量的引用。
#include<iostream>
using namespace std;
void swap(char &c1,char &c2)
{
char t;
t=c1;c1=c2;c2=t;
}
int main()
{
char x,y;
cin>>x>>y;
if(x>y)
swap(x,y);
cout<<x<<" "<<y<<endl;
return 0;
}
4编写一个程序,对一个整型数组求和,结果使用全局变量sum存储,另外对数组元素中的奇数求和,结果使用局部变量sum存储,在主程序中将两个结果输出。
#include<iostream>
using namespace std;
int sum;
int main()
{
int a[10];
int i,sum=0;
for(i=0;i<=9;i++)
cin>>a[i];
for(i=0;i<=9;i++)
{
if(a[i]%2!=0)
sum=sum+a[i];
::sum=::sum+a[i];
}
cout<<::sum<<" "<<sum<<endl;
return 0;
}
5.编写一个程序,声明一个双精度型的指针变量,使用运算符new动态分配一个double型的存储区,将首地址赋值给该指针变量,并输入一个数据到该存储区。
计算以该数为半径的圆的面积,并在屏幕上显示出来,最后使用delete释放该空间。
#include<iostream>
using namespace std;
int main()
{
double *p;
p=new double;
cin>>*p;
cout<<3.14*(*p)*(*p)<<endl;
delete p;
return 0;
}。