程序设计与算法(三)C++面向对象程序设计 北京大学 13 第二周测验答案 (13.1.1) 第二周测验答
C面向对象程序设计课后习题答案1~14章

c2=getchar(); //将输入的第二个字符赋给c2
cout<<"用putchar函数输出结果为:";
putchar(c1);
putchar(44);
putchar(c2);
cout<<endl;
cout<<"用cout语句输出结果为:";
putchar(c2);
cout<<endl;
cout<<"用cout语句输出结果为:";
cout<<c1<<c2<<endl;
return 0;
}
3-4-1、#include <iostream>
using namespace std;
int main ( )
{char c1,c2;
cout<<"请输入两个字符c1,c2:";
cout<<"please enter score of student:";
cin>>score;
while (score>100||score<0)
{cout<<"data error,enter data again.";
cin>>score;
}
switch(int(score/10))
{case 10:
else m=y;
if (z<m) m=z;
return(m);
}
1-8、#include <iostream>
c面向对象程序设计第二版答案

c面向对象程序设计第二版答案面向对象程序设计是一种以对象为中心的编程范式,它将数据和处理数据的方法结合在一起,形成对象。
这种设计方法强调的是数据的封装、继承和多态性。
以下是《面向对象程序设计第二版》的一些常见问题及其答案。
1. 面向对象程序设计的核心概念是什么?面向对象程序设计的核心概念包括:类(Class)、对象(Object)、封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。
2. 什么是类?类是现实世界中某些具有共同属性和行为的事物的抽象描述。
它定义了创建对象的蓝图或模板。
3. 什么是对象?对象是根据类创建的实例,具有类定义的属性和方法。
4. 封装是什么?封装是将数据(属性)和操作数据的方法(行为)组合在一起的过程,同时隐藏对象的内部状态和实现细节。
5. 什么是继承?继承是一种机制,允许一个类(子类)继承另一个类(父类或超类)的属性和方法。
6. 多态性是什么?多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
7. 面向对象程序设计有哪些优点?面向对象程序设计的优点包括代码重用、易于维护、易于扩展、提高代码的可读性等。
8. 如何实现封装?实现封装通常通过使用访问修饰符(如private、protected和public)来控制对类成员的访问。
9. 什么是接口?接口是一种特殊的抽象类,它只包含方法的声明,不包含方法的实现。
它用于定义一个类必须遵循的契约。
10. 什么是抽象类?抽象类是不能被实例化的类,通常包含抽象方法。
它用于定义一个类的基本结构,而具体的实现留给子类。
11. 如何实现多态?多态可以通过方法重载(Overloading)和方法重写(Overriding)来实现。
方法重载是同一个类中具有相同名字但参数不同的方法,而方法重写是子类重写父类的方法。
12. 什么是构造函数?构造函数是一种特殊的方法,用于在创建对象时初始化对象的状态。
程序设计与算法(三)C++面向对象程序设计 北京大学 12 第一周测验答案 (12.1.1) 第一周测验答

****15926.cpp:
//简单的 swap #include <iostream> using namespace std; class A {
public: int x; int getX() { return x; } }; void swap( //your code starts here A & a, A & b //your code ends here ) { int tmp = a.x; a.x = b.x; b.x = tmp; } int main() { A a,b; a.x = 3; b.x = 5; swap(a,b); cout << a.getX() << "," << b.getX(); return 0; }
0,0,new int[6],new int[6] //gwend };
*a[2] = 123; a[3][5] = 456; if(! a[0] ) {
cout << * a[2] << "," << a[3][5]; } return 0; }
****15927.cpp:
//难一点的 swap #include <iostream> using namespace std;
void swap(
//your code starts here int * & a, int * & b
//your code ends here
) {
北师大c程序设计考试题及答案

北师大c程序设计考试题及答案北师大C程序设计考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个选项是正确的标识符?A. 2variableB. variable2C. -variableD. variable-答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,下列哪个选项表示“或”运算?A. &&B. ||C. !D. &答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. +B. -C. *D. &&答案:D5. 在C语言中,下列哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. char str[10] = 'Hello';D. char str = 'Hello';答案:A6. 在C语言中,下列哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array = {1, 2, 3, 4, 5};C. int array[5] = 1, 2, 3, 4, 5;D. int array = 1, 2, 3, 4, 5;答案:A7. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a, b);答案:A8. 在C语言中,下列哪个选项表示“不等于”运算?A. ==B. !=C. =D. <=答案:B9. 在C语言中,下列哪个选项是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int;答案:A10. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student {int id;char name;};D. struct {int id;char name[50];} student;答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以进行按位与运算。
c面向对象程序设计课后习题答案

c面向对象程序设计课后习题答案C面向对象程序设计课后习题答案在学习C面向对象程序设计课程的过程中,课后习题是巩固知识、提升能力的重要途径。
通过认真完成习题,我们可以更好地理解课程内容,掌握编程技巧,提高解决问题的能力。
下面我们将针对一些常见的C面向对象程序设计课后习题进行答案解析。
1. 请编写一个C++程序,实现一个简单的学生信息管理系统,包括学生姓名、学号、成绩等信息的录入、查询和修改功能。
答案解析:首先,我们需要定义一个学生类,包括姓名、学号、成绩等属性,并实现相应的方法来实现信息的录入、查询和修改功能。
然后在主函数中创建学生对象,调用相应的方法即可实现学生信息管理系统。
2. 编写一个C++程序,实现一个简单的图书管理系统,包括图书名称、作者、出版社等信息的录入、查询和删除功能。
答案解析:同样地,我们需要定义一个图书类,包括图书名称、作者、出版社等属性,并实现相应的方法来实现信息的录入、查询和删除功能。
在主函数中创建图书对象,调用相应的方法即可实现图书管理系统。
3. 设计一个C++程序,模拟实现一个简单的银行账户管理系统,包括账户余额、存款、取款等功能。
答案解析:在这个问题中,我们需要定义一个银行账户类,包括账户余额、存款、取款等属性,并实现相应的方法来实现账户管理系统。
在主函数中创建账户对象,调用相应的方法即可实现银行账户管理系统。
通过以上习题的解答,我们可以看到C面向对象程序设计的重要性和实际应用。
通过不断地练习和实践,我们可以更好地掌握面向对象程序设计的知识和技能,提高编程能力,为今后的工作和学习打下坚实的基础。
希望同学们能够认真对待课后习题,不断提升自己的编程水平。
(完整版)《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。
2、掌握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求1、分析下列程序运行的结果。
程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。
c 面向对象程序设计教程习题答案

c 面向对象程序设计教程习题答案C面向对象程序设计教程习题答案在学习C面向对象程序设计的过程中,习题答案是非常重要的一部分。
通过练习习题,可以加深对知识点的理解,提高编程能力。
下面我们就来看一些常见的C面向对象程序设计习题及其答案。
1. 什么是面向对象程序设计?面向对象程序设计是一种程序设计范式,它以对象为中心,通过封装、继承和多态等特性来组织和管理代码。
面向对象程序设计可以提高代码的可维护性和可重用性,是现代软件开发中非常重要的一部分。
2. 什么是类和对象?类是一种抽象的数据类型,它描述了一类对象的共同特征和行为。
对象是类的实例,它具体描述了一个具体的实体。
在C面向对象程序设计中,类和对象是非常重要的概念。
3. 请编写一个简单的类和对象的例子。
```c#include <stdio.h>// 定义一个简单的类class Person {public:int age;char name[20];void display() {printf("Name: %s, Age: %d\n", name, age);}};int main() {// 创建一个对象Person p;p.age = 25;strcpy(, "Alice");p.display();return 0;}```4. 什么是封装?封装是面向对象程序设计中的一种重要特性,它将数据和行为封装在一个类中,对外部隐藏了内部的实现细节。
封装可以保护数据的安全性,同时提供了简单的接口供外部访问。
5. 请编写一个简单的封装例子。
```c#include <stdio.h>// 定义一个简单的类class Circle {private:double radius;public:void setRadius(double r) {radius = r;}double getArea() {return 3.14 * radius * radius;}};int main() {// 创建一个对象Circle c;c.setRadius(5.0);printf("Area: %f\n", c.getArea());return 0;}```以上就是一些常见的C面向对象程序设计习题及其答案。
《C++面向对象程序设计》习题答案

{FILE *fp;
if((fp=fopen(FileName,"rb"))==NULL)
{printf("%s文件打开失败!\n",FileName);}
else
{IsOpen=1;
Index=0;
while(!feof(fp))
{fread(&stud[Index],sizeof(struct Stud),1,fp);
exit(1);
}
}
void main()
{printf("****************************************************\n");
printf("*********欢迎使用学生信息管理系统!*********\n");
printf("****************************************************\n");
printf("*************** 0.退出系统**************\n");
printf("****************************************************\n");
printf("请选择(1/0)?_");
scanf("%d",&n);
typedef struct {/*用于存放生日信息的结构体*/
int year;
int month;
int day;
}Date;
typedef struct Stud{/*用于存放学生信息的结构体*/
c面向对象程序设计期末考试题及完整参考答案

2.在类中未说明访问权限的情况下,所有成员都是()的
A)共有的B)私有的C)内部的D)保护的
3.关于数组型参数下面那个说法是错误的()
A)方法中只允许定义一个数组型参数;
B)数组型参数所定义的数组必须是一维数组;
C)数组型参数可以作为引用参数或者输出型参数使用;
}
}
}
7、编程题(共20分)
定义一个教师类Teacher,具体要求如下:
1)私有字段姓名name(string)、性别sex(SexFlag)、年龄age(int,>=0)和工号no(string)等信息,其中SexFlag为枚举类型,包括Male(表示男性)、Female(表示女性),并且sex字段缺省为男性。
01223,王五,男,35岁
7)要求必须按照一个完整的C#程序结构来写,保证程序正确运行。
洛阳理工学院2011/2012学年 第一学期 期末考试试题卷(A)
参考答案及评分标准
课程:面向对象程序设计适用班级:B090501/2/3/4
8、填空题(每空1分,共20分)
1.属性操作
2.泛化依赖泛化
3.命名空间 主程序方法 程序集
}
public Truck(int weight, int load)
: base(50)
{
this.weight = weight;
this.load = load;
}
publicnewfloat Run(float distance) //重载
{
return (1 + load / Weight / 2) * base.Run(distance);
C 面向对象程序设计习题解答(全)

4答案 n=2,sum=2 n=3,sum=5 n=5,sum=10
5答案 x=3 6答案 x=1,y=2 x=30,y=40 7答案 1 2 3 4 exit main 3 2 1 8答案 n=100 9答案 the student is:Li Hu the teacher is:Wang Ping 10答案 2 11答案 1035,789.504 12答案 13答案
一、选择题 1 2 3 4 D B B C
类和对象的进一步解析
5 D 6 D 7 D B 8 C B 9 10 11 12 13 14 15 16 B D B A A C B A
17 18 19 20 21 22 23 24 C C D B A D 二、填空题 1 this 2所有成员 3友元类、友元函数 4 friend 5 程序编译、程序结束 三、程序阅读题
第六章 派生与继承
一、选择题 1(1) 1(2) 2 A B 3 4 5 6 7 8 9 10 11 D C C C D D B C A D
二、填空题 1 继承 2 具体化、抽象 3 公有继承、保护继承、私有继承 4 子对象 5 public(共有的)、protected(保护的)、不可访问 6 protected(保护的)、protected(保护的)、不可访问的 7 private(私有的)、private(私有的)、不可访问的 8 二义性 三、判断下列描述的正确性 1 2 3 4 5 6 7 8 9 10 11 12 13 √ × × × × × √ √ × × √ √ ×
1、 选择题 1 2 3 4 5 6 7 C 8 9 10 D D D C A D C 2、 程序阅读题 1答案 a=639,b=78,c=12 2答案 a=5,b=8 a=8,b=5 3答案 10 4答案 x=20.6 y=5 z=A x=216.34 y=5 z=A x=216.34 y=2 z=A x=216.34 y=2 z=E 5答案 ic=11 fc=7.82 ic=5 fc=2.15 3、 判断下列描述的正确性 1 2 √ × D A
大学mooc程序设计与算法(一)C语言程序设计(北大)章节测验期末考试答案

3 / 21
A.1,11,11 B.0,10,11 C.1,10,11 D.0,11,11
A 正确答案: 你没选择任何选项
青春须早为,岂能长少年。
3
单选 (2 分)
字符'a'的 ASCII 码是 97,写出下面程序的输出结果: char c = 'a' + 4; cout << c << "," << (int) c + 3 << endl;
正确答案:C 你错选为 D
2
单选 (2 分)
short 类型变量 n 的值是-12,那么其值的四位十六进制形式是(提示:short 变量是 16 位。负数的符号位为 1。请参看讲义中关于负数的表示形式):
A.FFF4 B.8012 C.1012 D.800C
A 正确答案: 你没选择任何选项
3
多选 (3 分)
6
©解忧书店,严禁转载,违者必究!
6 / 21
填空 (2 分)
青春须早为,岂能长少年。
求整数的和与均值 通过码 正确答案:
ad3ee91317451805484faceab34ffa3140a2ed27af32d0bd792b5225d443a
e69
7
填空 (2 分)
整数序列的元素最大跨度值 通过码 正确答案:
7
填空 (2 分) 009 空格分隔输出 通过码 正确答案:
acbe5e0f465879e75abb1f7bd633bce83055067f040099b3de2c5bd8580e 5e8a
8
填空 (2 分) 010 计算球的体积 通过码 正确答案:
《面向对象程序设计C--》期末试卷及答案

一、选择填空题(共20小题,每小题2分,共40分)。
1. 关于C++与C语言关系的描述中,(d)是错误的。
a.C语言是C++语言的一个子集b.C语言与C++语言是兼容的c.C++语言对C语言进行了一些改进d.C++语言和C语言都是面向对象的2.按照标识符的要求,(a )符号不能组成标识符。
a.连接符b.下划线c.大小写字母d.数字字符3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(c)组成配对关系。
a.缩排位置相同的ifb.在其之前未配对的ifc.在其之前未配对的最近的ifd.同一行上的if4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(c)。
a.1b.0c.6d.25. 设"char **s;",以下正确的表达式是(b)。
a.s="computer";b.*s="computer";c.**s="computer";d.*s='c';6. 对于"int *pa[5];"的描述中,(d )是正确的。
a.pa是一个指向数组的指针,所指向的数组是5个int型元素b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量c.pa [5]表示某个元素的第5个元素的值d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针7. 在下列表示引用的方法中,(a )是正确的。
已知:int m=10;a.int &x=m;b.int &y=10;c.int &z;d.float &t=&m;8. 下列for循环的次数为(b)。
for(i=0, x=0; !x&&i<=5; i++)a.5b.6c.1d.无限9. 对于C/C++语言的函数,下列叙述中正确的是(a)。
c--面向对象程序设计课后习题解答-谭浩强

(5)第6行末尾少了一个分号。 (6)add函数中的retrun拼写错误,应为return。编译系统把retrun作为未声明的标识符而报错 ,因为retrun(z)会被认为是函数调用的形式。 (7)变量a和b未被赋值。 改正后的程序如下: #include using namespace std; int main( {int add(int x,int y; int a,b,c; cin >> a >> b; c=add(a,b; cout <<" a+b=" << c < return 0; } int add(int x,int y {int z; z=x+y; return(z; } 运行情况如下: 5 8↙ 13 10.输入以下程序,编译并运行,分析运行结果。 #include using namespace std; int main( { void sort(int x,int y,int z; int x,y,z;
1 5 3↙ (输入3个整数
1 (输出其中最小的数
8.在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改 程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
int main( ; { int a,b; c=a+b; cout >>" a+b=" >> a+b; } 【解】 上机编译出错,编译出错信息告知在第2行出错,经检查,发现第1行的末尾多了一个分号,编译 系统无法理解第2行的花括号,导致报告第2行出错。将第1行的末尾的分号去掉,重新编译,编 译出错信息告知在第5行和第6行出错。第5行出错原因是cout未经声明,因为cout不是C++语言 提供的系统的关键字,而是输出流的对象,必须使用头文件iostream。第6行出错原因是main是i nt型函数,应返回一个整型值。将程序改为
大学mooc程序设计与算法(三)C++面向对象程序设计(北大)章节测验期末考试答案

2
单选 (1 分)
2) 下面说法哪个不正确?
©解忧书店,严禁转载,违者必究!
6 / 23
青春须早为,岂能长少年。 A.A) 静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数 B.C) 静态成员变量被所有对象所共享 C.B) 非静态成员函数不能访问静态成员变量 D.D) 在没有任何对象存在的情况下,也可以访问类的静态成员
5d8eb03ffe6fd88e217056b74768a4509bf257207c58c7ebad211cbb8a074 e48
8
填空 (2 分) 难一点的 swap 的通过码是 正确答案:
7ffc014c87641aa1e7cca0338c15f3166fc444167ebc65a1cfc537155fba9e6 2
©解忧书店,严禁转载,违者必究!
2 / 23
正确答案:D 你选对了
青春须早为,岂能长少年。
7
填空 (2 分)
简单的 swap 通过码是 ( 请参考公告中的“关于编程作业的说明”完成编程作业(请注意,编程题都要求 提交通过码,在 openjudge 上提交了程序并且通过以后,就可以下载到通过码。)
正确答案:
正确答案:C 你错选为 D
5
填空 (2 分)
返回什么才好呢 通过码 正确答案:
ec27659b1138eb902f716a35af1b656c166e03ee19f96b570b9d8f9c89be5
95e
6
填空 (2 分)
Big & Base 封闭类问题 通过码 正确答案:
6ae52fc7614f53056efc898342fcb432b858ba858bd997c591dd36b3e7475
C 面向对象程序设计课后答案(谭浩强)

C++面向对象程序设计课后答案(1-4章)第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再由类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。
(2)需要用属性来描述它的某些特性。
(3)有一组操作,每一个操作决定了对象的一种行为。
(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r = p[0] - '0'; i = p[2] - '0'; return * this; } */
//your code ends here };
int main() { Complex a; a = "3+4i"; a.Print(); a = "5+6i"; a.Print(); return 0;
要求实现一个代表学生的类,并且所有成员变量都应该是私有的。
*/ // by Guo Wei #include <iostream> #include <cstring> #include <cstdlib> #include <string> using namespace std; class CStudent {
public: int v; //your code starts here Sample () { }; Sample(int n):v(n) { }; Sample(const Sample & x) { v = 2 +x.v; } //your code ends here
}; void PrintAndDouble(Sample o) {
void Print() { cout << r << "+" << i << "i" << endl;
} //your code starts here //解法 1
Complex() { }; Complex ( const char * p) {
r = p[0] - '0'; i = p[2] - '0'; }
void printInfo() { cout << name <<"," << age << "," << id << "," << average() << endl;
} }; int main() {
CStude; }
/* strtok 用法示例:
cout << o.v; cout << endl; } int main() { Sample a(5); Sample b = a; PrintAndDouble(b); Sample c = 20; PrintAndDouble(c); Sample d; d = a; cout << d.v; return 0; }
输出: This a sample string OK
char str[] ="- This, a sample string, OK."; //下面要从 str 逐个抽取出被" ,.-"这几个字符分隔的字串 char * p = strtok (str," ,.-"); //请注意," ,.-"中的第一个字符是空格 while ( p != NULL) //只要 p 不为 NULL,就说明找到了一个子串 {
char buf[110]; cin.getline(buf,100); char * p = strchr(buf,','); p[0] = 0; strcpy( name,buf); sscanf(p + 1, "%d,%d,%d,%d,%d,%d",&id,&age,
averageScore,averageScore+1,averageScore+2, averageScore+3); } */
}
****15998.cpp:
#include <iostream> using namespace std; class A {
public: int i; A(int x) { i = x; }
//your code starts here ~A() { cout << i << endl; }
第一种解法写了类型转换构造函数,使得 a = "5+6i"; 赋值号右边自动生成一个临时 对象,再赋值给 a
第二种解法返回引用,是因为要符合赋值号的使用习惯,并非必须。a=b 这个表达式返 回 a 的引用,是未重载的赋值号的特性。 */ class Complex { private:
double r,i; public:
9522 编程填空:学生信息处理程序 9520 奇怪的类复制 9521 返回什么才好呢 15997 超简单的复数类 15998 哪来的输出
****15997.cpp:
#include <iostream> #include <cstring> #include <cstdlib> using namespace std; /*
private: static const int COURSE_NUM = 4; char name[20]; int age; int id; int scores[COURSE_NUM];
public: int average() { int sum = 0; for( int i = 0;i < COURSE_NUM; ++i) sum += scores[i]; return sum / COURSE_NUM; } void readInfo( ) { char buf[210]; cin.getline(buf,200); char * p = strtok(buf,","); strcpy(name,p); p = strtok(NULL,","); age = atoi(p); p = strtok(NULL,","); id = atoi(p); for( int i = 0;i < COURSE_NUM; ++i ) { p = strtok(NULL,","); scores[i] = atoi(p); } } /* 另一写法: void readInfo() {
//your code ends here
}; int main() {
A a(1); A * pa = new A(2); delete pa; return 0; }
****9520.cpp:
/* 程序填空,使得输出结果是 9 22 5
*/ #include <iostream> using namespace std; class Sample {
****9522.cpp:
/*
实现一个学生信息处理程序
输入数据为一行: 姓名,年龄,学号(整数),第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第 四学年平均成绩
输出: 姓名,年龄,学号,四年平均成绩
例如:
输入:Tom Hanks,18,7817,80,80,90,70
输出:Tom Hanks,18,7817,80
cout << p << endl; p = strtok(NULL, " ,.-");//后续调用,第一个参数必须是 NULL }
*/