c课后部分习题答案docx.docx
- 文档编号:20690952
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:22
- 大小:113.79KB
c课后部分习题答案docx.docx
《c课后部分习题答案docx.docx》由会员分享,可在线阅读,更多相关《c课后部分习题答案docx.docx(22页珍藏版)》请在冰豆网上搜索。
c课后部分习题答案docx
第一题
1题目:
一位亿万富翁遇到一个陌生人,陌生人找他谈一个换计划,该计划如下:
我每天给你十万元,而你第一天只需要给我一分钱,第2天我仍给你10万,你给我两分钱,第3天我仍给你十万元,你给我四分钱……。
你每天给我的钱是前一天的两倍,知道满30天。
亿万富翁很高兴个,欣然接受了这个契约。
编写一个程序,计算这个月中陌生人给了亿万富翁多少钱,亿万富翁给陌生人多少钱。
2••从题目可知道亿万富翁给陌生人的钱呈现等比数列,q=25,而陌生人给亿万富翁的钱一直是10万元,令suml是亿万富翁给陌生人矗钱,sum2是陌生人亿给万富翁的钱。
3.
4#include
#include
usingnamespacestd;
intmain()
{
intsum1=0,sum2=0,n;
cout«Hsuml是亿万富翁给陌生人的钱,sum2是陌生人亿给万富翁的钱
”vvendl;
for(n=1;n<=30;n++)
sum1+=pow(2,n-l);
}
sum2=100000*30;
cout«"sum1=,*«suml«endl;
cout«nsum2=H«sum2«endl;
return0;
\
1wE:
\C++\MicrosoftVisualStudio\MyProjects\201105125\Debug\2011051;
suml.是亿万富翁给陌生人的钱,sum2是[J百生人彳乙给万富翁的钱
sunl=1073741823
siin2=3000000
Pressanykeytocontinue
5这次编译没有碰到问题。
第二题
1题目:
信函的重量不超过100G时,每20G付邮资80分,即信函的重量不超过20G时付邮资80分;信函的重量超过20G、不超过40G时,付邮资160分。
编写程序,输入信函的重量,输出应付的邮资。
2经分析后知道若令x为信函的重量,y为所需的邮资,则必存在:
X<=20y=80
20 40 60 80 3 #include usingnamespacestd; intmain() { intx,y; cin»x; if(x<=20) y=80; elseif(x<=40) y=160; elseif(x<=60) y=240; elseif(x<=80) y=320; elseif(x<100)y=400;cout«y«endl; E: \C++\MicrosoftVisualStudio\MyProjects\2011l 60 240 Pressanykeytocontinue 第3题 1题目: 编写程序,将输入的小写字母变为大写,大写字母不变。 1利用ASCII码去求解此题,'A'的ASCII为65,'a,的为97,'z'为129.、 开始 3#includedostream〉usingnamespacestd;intmain() charch;cin>>ch;if(ch-32>65){ ch-二32;cout< } elsecout< E: \C++\MicrosoftVisualStudio\MyProjects\201105125\DebL 第4题 1题目: 编写名为sqootO的函数,返回其参数的平方根。 重载sqrootO三次,让它分别返回整数、长整数与双精度的平方根。 2使用重载函数的必须要知道,只有当数据的类型不同或数据个数不同时才能使用。 做此题要注意调用到#include •#include #include〈cm3th> usingnamespacestd; intf(intn) { intx; x=sqrt(n);returnx; } doubleh(doublen) {doublex;x=sqrt(n);returnx; } longintg(longintn) { longintx;x二sqrt(n); returnx; i j intmain() { doublen,xl,x2,x3;cin>>n; xl=f(n); x2=h(n); x3=g(n);cout< ■"E: \C++\MicrosoftVisualStudio\MyProjects\20110! 21 xl=4 x2=4.58258 x3=4 Pressanykeytocontinue 第五题 1假设美元与人民币的汇率是1美元兑换7.19元人民币。 编写程序,输入人民币的钱数,输出能兑换的美元的金额。 2若用p表示人民币,sum表示兑换的美元金额,m表示美元,y为人民币的数目,则可以建立一个等式sum二(p*y)/7.19 3.#include usingnamespacestd; intmeiin() { doublesum=0,y;cout«,zsum表示兑换的美元金额,y为人民币的数目,,«endl; cin>>y; sum=y/7・19; cout〈〈〃sum二〃〈〈sum〈〈endl; return0; } WE: \C++\MicrosoftVisualStudio\MyProjects\2011 S呗表示兑换的美元金额,y为人民币的数目 6000 £5=834.492 Pressanykeytocontinue 第六题 1编写一个程序,将一串字符倒序存放后输岀。 列如,原数组A的内容为“VISUALC++PROGRAM”,倒序后为“MARGORP++CLAUSIV”。 2.直接用数组名作为函数,若所交换的长度为10,则可知a[9]与a[0]交换位子,a[8]与a[l]交换位子・••a[i]a[10-l-i]交换位子,当i二j的时候退出. 3.#include #include usingnamcspaccstd; voidf(charx[],intn) { inti,j,m二(n-1)/2; chart; for(i=0;i<=m;i++) { j=n-i-l; t=x[i]; x[i]二x[j]; x[j]=t; } } intmain() { inti; charaLJ={1,,1,o,v,e,,c,+,+); for(i=0;i<10;i++) { cout< }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课后 部分 习题 答案 docx