77范文网 - 专业文章范例文档资料分享平台

C++实验答案(3)

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

判断正整数n是否为完数。已知一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数。此程序要求编写函数bool wanshu(int n),判断n是否为完数,若n是,则函数返回true;否则返回false。然后主函数通过该函数的返回值,在屏幕上输出判断结果。

#include using namespace std; int number (int); int main() {

int n; cin>>n;

int result=number(n); if(result==-1)

cout<<\ else

cout<<\ return 0; }

int number (int a) {

int total=0,re=0;

for(int i=0;i

total+=i; if(a==total) {

re=a; break; } else

re=-1; }

return re; } 2

假定现在已是2012年,请编写程序,计算2012年伦敦奥运会倒计时的天数并输出。已知伦敦奥运会的开幕日期是2012年7月27日。用户输入日期的范围必须是2012年1月1日— 2012年7月26日。要求程序中编写函数int CountDown(int year,int month,int day),来计算从用户输入的日期year-month-day到伦敦奥运会开幕日之间的倒数天数。 提示:所求天数= month这个月的总天数-day+(month+1到6月所有这些月份天数之和)+27。

#include

using namespace std; int main() {

int y,m,d,x;

cin>>y>>m>>d;

if(y!=2012||(m>7||m==0)||(m==7&&d>27)) cout<

x=27-d;

cout<

switch(m) {

case 1:x=31-d+29+31+30+31+30+27;break; case 2:x=29-d+31+30+31+30+27;break; case 3:x=31-d+30+31+30+27;break; case 4:x=30-d+31+30+27;break; case 5:x=31-d+30+27;break; case 6:x=30-d+27;break; }

cout<

return 0; } 3

许多英语单词无论是顺读还是倒读,其词形完全一样,都是同一个单词,如dad(爸爸)、noon(中午)、level(水平)等,这样的词称为回文词。在最权威的《牛津英语大词典》里,最长的回文词是tattarrattat,是个象声词,表示敲门的声音。英语的回文句更有趣味(忽略其中的标点符号)。最著名的一句为:“Madam,I?m Adam.”(小姐,我是亚当。)据说,这是亚当在伊甸园里初见夏娃作自我介绍时说的话。 现要求编写一个函数bool huiwen(char *p),判断输入的一个单词是否为回文词。p是指向要输入的字符串的指针,如果是返回true,否则返回false。 #include using namespace std;

bool huiwen(char *p) { char *q=p+strlen(p)-1; for(int i=0;i

return false; return true; }

void main() { char ch[100]; cin>>ch; if(huiwen(ch)) cout<<\ else cout<<\ cin.get(); cin.get(); } 4

编写一个函数,用于生成一个由若干个指定字符构成的字符串,其原型为:

void mystr(char c,int n, char *p);其中,参数c是构造字符串的字符,n是字符串中字符的个数,p是生成的字符串的首地址。

要求:编写主函数,在主函数中进行字符和字符个数的输入,然后再调用mystr函数生成字符串,最后在主函数中将生成的字符串输出。

#include using namespace std;

void mystr(char c,int n,char *p) { for(int i=1;i<=n;i++) cout<

int main() {

char c; char *p; p=&c; int n; cin>>c; cin>>n;

mystr(c,n,p); return 0; } 5

有一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生1对兔子,小兔子长到第3个月后每个月又生1对兔子。假设所有兔子都不死,问每个月兔子的总对数为多少? 提示:不满1个月的为小兔子,满1个月不满2个月的为中兔子,满3个月以上的为老兔子。每对老兔子每个月会生1对小兔子。因此,每个月的兔子总数依次为1,1,2,3,5,8,13,…。这就是Fibonacci数列。该数列的递归定义如下:f(n)=1 (n等于1或2);f(n)= f(n-1)+ f(n-2) (n>2)

请编写递归函数int fib(int n),求出第n个月兔子的总对数。

#include using namespace std; void fib(int s) { int d=1,f=1,sum=0,n=1,t=0; while(n

sum=d+f; } cout<<\第\个月兔子的总对数为\ }

int main() { int s; cin>>s; if(s!=1) fib(s); else cout<<\第1个月兔子的总对数为1\ return 0; }

实验五 1

仿照本次实验预习的程序填空题1,将以上Distance函数定义为类piont的友元函数,实现程序的功能。并在主函数中增加输入两点作为友元函数的实参。 #include #include

using namespace std; class point {

public:

point(float a,float b) { x=a; y=b; }

friend float Distance(point p1,point p2) {

float dx=p1.x-p2.x; float dy=p1.y-p2.y;

return (float)sqrt(dx*dx+dy*dy); } private:

float x,y; };

int main() {

float p1_x,p1_y,p2_x,p2_y; //输入四个点

cin>>p1_x>>p1_y>>p2_x>>p2_y; point p1(p1_x,p1_y),p2(p2_x,p2_y); cout<

2

根据以下主函数的功能来设计日期类CDateInfo,使其能正确运行。类CDateInfo中应该具有描述年、月、日的三个数据成员和相应的成员函数。 #include using namespace std; class CDateInfo {

int year,month,day; public: CDateInfo(){};

CDateInfo(int y,int m,int d) {year=y,month=m,day=d;}; void SetDate(int y,int m,int d); void GetDate(); };

void CDateInfo::SetDate(int y=2011,int m=10,int d=10) { year=y; month=m; day=d; }

void CDateInfo::GetDate() { cout<

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++实验答案(3)在线全文阅读。

C++实验答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/416121.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: