第二周:程序设计预算法(三)

 

题面

001:编程填空:学生信息处理程序

 1 #include <iostream>
 2 #include <string>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <sstream>
 6 #include <cstdlib>
 7 using namespace std;
 8 
 9 class Student {
10 // 在此处补充你的代码
11 private:
12     char name[25];
13     int age,number;
14     double a1,a2,a3,a4,ave;
15     char c;
16 public:
17     void input()
18     {
19         cin.getline(name,20,',');//cin.getline输入长度指定字符结束
20         cin>>age>>c>>number>>c;
21         cin>>a1>>c>>a2>>c>>a3>>c>>a4;
22     }
23     void calculate()
24     {
25         ave=(a1+a2+a3+a4)/4;
26     }
27     void output()
28     {
29         cout<<name<<c<<age<<c<<number<<c<<ave;
30     }
31 };
32 
33 int main() {
34     Student student;        // 定义类的对象
35     student.input();        // 输入数据
36     student.calculate();    // 计算平均成绩
37     student.output();       // 输出数据
38 }

 

002:奇怪的类复制

 1 #include <iostream>
 2 using namespace std;
 3 class Sample {
 4 public:
 5     int v;
 6 // 在此处补充你的代码
 7     Sample(int n=0)//构造函数
 8     {
 9         v=n;
10     }
11     Sample(const Sample &x)//类的对象的构造函数
12     {
13         v=x.v+2;
14     }
15 };
16 void PrintAndDouble(Sample o)
17 {
18     cout << o.v;
19     cout << endl;
20 }
21 int main()
22 {
23     Sample a(5);
24     Sample b = a;
25     PrintAndDouble(b);
26     Sample c = 20;
27     PrintAndDouble(c);
28     Sample d;
29     d = a;
30     cout << d.v;
31     return 0;
32 }

 

003:超简单的复数类

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdlib>
 4 using namespace std;
 5 class Complex {
 6 private:
 7     double r,i;
 8 public:
 9     void Print() {
10         cout << r << "+" << i << "i" << endl;
11     }
12 // 在此处补充你的代码
13     Complex(){}//空构造函数
14 
15     Complex(const char x[])
16     {
17         r=x[0]-'0';//和0的ASCII相减得到对应的数
18         i=x[2]-'0';
19     }
20 };
21 int main() {
22     Complex a;
23     a = "3+4i"; a.Print();//构造函数的应用,赋值时利用构造函数赋值
24     a = "5+6i"; a.Print();
25     return 0;
26 }

 

004:哪来的输出

 1 #include <iostream>
 2 using namespace std;
 3 class A {
 4     public:
 5         int i;
 6         A(int x) { i = x; }
 7 // 在此处补充你的代码
 8         ~A()//析构函数的输出
 9         {
10             cout<<i<<endl;
11         }
12 };
13 int main()
14 {
15     A a(1);
16     A * pa = new A(2);
17     delete pa;
18     return 0;
19 }

 

posted @ 2020-01-12 11:50  waryan  阅读(150)  评论(0编辑  收藏  举报