C++面向对象程序设计50道编程题(第18题)

版权声明:版权所有,尊重原创。转载请注明出处: https://blog.csdn.net/qq_36426650/article/details/84640410

C++面向对象程序设计50道编程题(第18题)

摘要:C++程序设计实习是为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析问题和解决问题的能力,提高学生运用所学知识解决实际问题的能力。
  本专辑为编程入门者、高校计算机软件专业学习或复习提供C++程序设计题库。
  读者请先独立思考哦,再与参考程序进行比对检查。

一、问题描述

在这里插入图片描述

二、考察内容

  基本面向对象概念,如何创建类、对象,对类私有数据成员和公有成员函数的理解,简单的字符串处理。

三、难度等级

难度等级:★★★☆☆

四、参考程序

#include <iostream.h>
#include <string.h>
class Modistr{
	char *str;
public:
	Modistr(char *s=0);
	void print(){cout<<str<<endl;}
	~Modistr(){delete []str;}
	void Modify(char *);
};
Modistr::Modistr(char *s)
{
	str=new char[strlen(s)+1];
	strcpy(str,s);
}
void Modistr::Modify(char *wordp)
{
	char p1[100],p2[20];
	strcpy(p1,str);
	strcpy(p2,wordp);	
	int i=0,n;
	for(;p1[i++];)
	{
		for(int j=i,k=0;p1[j]==p2[k]&&p2[k]!='\0';k++,j++);
		if(p2[k]=='\0'){
		    n=j;			
			while(p1[n++]);
			for(int m=n;m>=j;m--)
				p1[m+1]=p1[m];
			p1[j]='s';		
		    i=j;
		}
	}
	str=new char[i];
	strcpy(str,p1);
}
void main()
{
	char *s="We are student  ,you are student  ,too.";
	char *p="student";
	Modistr mys(s);
	mys.print();
	mys.Modify(p);
	mys.print();
}

五、心得感受

可以在评论处写下思考和编程此题的感受

猜你喜欢

转载自blog.csdn.net/qq_36426650/article/details/84640410