小数计算——结构体
时间: 1ms 内存:128M
描述:
小数可以看成是一个点和两个数组成的,因此可以定义成一个小数的结构体,现在请用结构体的知识来计算两个小数相加。
注意:不考虑进位,输入的值都是小数,小数位只有一位。
输入:
输入两个小数
输出:
输出两个小数的和
示例输入:
1.2
3.4
示例输出:
4.6
提示:
参考答案(内存最优[0]):
#include<iostream>
using namespace std;
struct xiaoshu
{
int head,tail;
char point;
}p1,p2,n;
void add( xiaoshu p1, xiaoshu p2)
{
n.head=p1.head+p2.head;
n.point=p1.point;
n.tail=p1.tail+p2.tail;
cout<<n.head<<n.point<<n.tail<<endl;
}
int main()
{
xiaoshu a,b;
void add(xiaoshu,xiaoshu);
cin>>a.head>>a.point>>a.tail;
cin>>b.head>>b.point>>b.tail;
add(a,b);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
class A
{
public:
int a,b;
public:
A(int aa, int bb) {a=aa; b=bb;}
void printA()
{
cout<<"a: "<<a<<" b: "<<b<<endl;
}
};
class B: public A
{
int c;
public:
B(int aa, int bb, int cc):A(aa,bb){c=cc;}
void printB()
{
cout<<"a: "<<a<<" b: "<<b<<" c: "<<c<<endl;
}
};
//********************* end ********************
int main()
{
int a1, a2;
int b1, b2, b3;
cin>>a1>>a2;
cin>>b1>>b2>>b3;
A a(a1,a2);
B b(b1,b2,b3);
a=b;
a.printA();
b.printB();
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。