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

《c++程序设计》谭浩强课后习题答案及解析 

来源:用户分享 时间:2025/8/30 1:03:41 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.

{r=n%m; n=m; m=r; }

cout<<\

cout<<\ // p是原来两个整数的乘积 return 0; }

3.16题

#include using namespace std; int main () {char c;

int letters=0,space=0,digit=0,other=0; cout<<\ while((c=getchar())!='\\n')

{if (c>='a' && c<='z'||c>='A' && c<='Z') letters++; else if (c==' ') space++;

else if (c>='0' && c<='9') digit++; else other++; }

cout<<\ other:\ return 0; } 3.17题

#include using namespace std; int main ()

{int a,n,i=1,sn=0,tn=0; cout<<\ cin>>a>>n; while (i<=n)

{tn=tn+a; //赋值后的tn为i个a组成数的值 sn=sn+tn; //赋值后的sn为多项式前i项之和 a=a*10; ++i;

.

.

}

cout<<\ return 0; } 3.18题

#include using namespace std; int main () {float s=0,t=1; int n;

for (n=1;n<=20;n++) {

t=t*n; // 求n!

s=s+t; // 将各项累加 }

cout<<\ return 0; }

3.19题

#include using namespace std; int main () {int i,j,k,n;

cout<<\ for (n=100;n<1000;n++) {i=n/100; j=n/10-i*10; k=n;

if (n == i*i*i + j*j*j + k*k*k) cout<

cout<

#include using namespace std; int main()

{const int m=1000; // 定义寻找围 int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s;

for (a=2;a<=m;a++) // a是2~1000之间的整数,检查它是否为完数 {n=0; // n用来累计a的因子的个数

.

.

s=a; // s用来存放尚未求出的因子之和,开始时等于a for (i=1;i

if (s==0) // s=0表示全部因子都已找到了 {cout<

if (n>1) cout<1表示a至少有2个因子

if (n>2) cout<<\表示至少有3个因子,故应再输出一个因子 if (n>3) cout<<\表示至少有4个因子,故应再输出一个因子 if (n>4) cout<<\ // 以下类似 if (n>5) cout<<\ if (n>6) cout<<\ if (n>7) cout<<\ if (n>8) cout<<\ if (n>9) cout<<\ cout<

.

.

return 0; }

3.20题另一解

#include using namespace std; int main() {int m,s,i;

for (m=2;m<1000;m++) {s=0;

for (i=1;i

if ((m%i)==0) s=s+i; if(s==m)

{cout<

if (m%i==0) cout<

return 0; }

3.20题另一解

#include using namespace std; int main() {int k[11]; int i,a,n,s;

for (a=2;a<=1000;a++) {n=0; s=a;

for (i=1;i

k[n]=i; // 将找到的因子赋给k[1]┅k[10] } if (s==0)

{cout<

.

.

return 0; }

3.21题

#include using namespace std; int main()

{int i,t,n=20;

double a=2,b=1,s=0; for (i=1;i<=n;i++) {s=s+a/b; t=a;

a=a+b; // 将前一项分子与分母之和作为下一项的分子 b=t; // 将前一项的分子作为下一项的分母 }

cout<<\ return 0; }

3.22题

#include using namespace std; int main()

{int day,x1,x2; day=9; x2=1;

while(day>0)

{x1=(x2+1)*2; // 第1天的桃子数是第2天桃子数加1后的2倍 x2=x1; day--; }

cout<<\ return 0; }

3.23题

#include #include using namespace std; int main() {float a,x0,x1;

cout<<\ cin>>a; // 输入a的值 x0=a/2;

.

《c++程序设计》谭浩强课后习题答案及解析 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4tr8n37guk79ew80o94h77xpo584e200qvv_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top