3.2 圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,球表面积,球体积,圆柱体积。取小数点后两位。

#include <iostream>
#include <iomanip>
using namespace std;
int main ( )
{float h,r,l,s,sq,vq,vz;const float pi=3.1415926;cout<<"please enter r,h:";cin>>r>>h;l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);cout<<"l= "<<setw(10)<<l<<endl;cout<<"s= "<<setw(10)<<s<<endl;cout<<"sq="<<setw(10)<<sq<<endl;cout<<"vq="<<setw(10)<<vq<<endl;cout<<"vz="<<setw(10)<<vz<<endl;return 0;
}  

3.3 输入华氏温度,输出摄氏温度

#include <iostream>
using namespace std;
int main ()
{float c,f;cout<<"请输入一个华氏温度:";cin>>f;c=(5.0/9.0)*(f-32);         //注意5和9要用实型表示,否则5/9值为0cout<<"摄氏温度为:"<<c<<endl;return 0;
};

3.4 用getchar读入两个字符给c1 c2,用putchar和cout输出

#include <iostream>
using namespace std;
int main ( )
{char c1,c2;cout<<"请输入两个字符c1,c2:";c1=getchar();        // input to c1c2=getchar();        //c2 cout<<"用putchar函数输出结果为:";putchar(c1);putchar(c2);cout<<endl;cout<<"用cout语句输出结果为:";cout<<c1<<c2<<endl;cout<<(int)c1<<endl;  //output asciicout<<(int)c2<<endl;return 0;
}

3.5 整型变量  字符变量

#include <iostream>
using namespace std;
int main ( )
{char c1,c2; int i1,i2;                  //定义为整型cout<<"请输入两个整数i1,i2:"; cin>>i1>>i2;c1=i1;c2=i2;cout<<"按字符输出结果为:"<<c1<<" , "<<c2<<endl;return 0;
}

3.8求值

#include <iostream>
using namespace std;
int main ( )
{ int a=3,b=4,c=5,x,y;   //与运算优先于或运算cout<<(a+b>c && b==c)<<endl;  // 0cout<<(a||b+c && b-c)<<endl;  // 1cout<<(!(a>b) && !c||1)<<endl;  // 1cout<<(!(x=a) && (y=b) && 0)<<endl;  // 0cout<<(!(a+b)+c-1 && b+c/2)<<endl;  // 1return 0;
} 

3.9 输入三个整数,输出最大的数

#include <iostream>
using namespace std;
int main ( ){
//  int a,b,c,temp,max ;int a,b,c;cout<<"please enter three integer numbers:";//   cin>>a>>b>>c;
//   temp=(a>b)?a:b;                 /*  将a和b中的大者存入temp中 */
//   max=(temp>c)?temp:c;            /*  将a和b中的大者与c比较,最大者存入max */
//   cout<<"max="<<max<<endl;cin>>a>>b>>c;a=(a>b)?a:b;   //max到aa=(a>c)?a:c;cout<<"max="<<a<<endl;return 0;}

3.10分段函数

#include <iostream>
using namespace std;
int main ( ){int x,y;cout<<"enter x:";cin>>x;if (x<1)                            {y=x;cout<<"x="<<x<<", y=x="<<y;}else if (x<10)                     // 1≤x<10 {y=2*x-1;cout<<"x="<<x<<", y=2*x-1="<<y;}else                           // x≥10 {y=3*x-11;cout<<"x="<<x<<", y=3*x-11="<<y;}cout<<endl;return 0;
}

3.11百分制成绩输出等级ABCDE

#include <iostream>
using namespace std;
int main (){float score;char grade;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:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;default:grade='E';        }cout<<"score is "<<score<<", grade is "<<grade<<endl;return 0;
}

3.12给出一个不多于五位数的整数,求出是几位数,打印出每一位数字,逆序打出各位数字

#include <iostream>
#include <cmath>
using namespace std;
int main ()
{int i=1,x;cout<<"input x: ";cin>>x;cout<<endl;/*位数*/int n;n=x;if(n>99999||n<=0)cout<<"error"<<endl;else{while(n>=10){i++;n=n/10;}cout<<"整数位数为: "<<i<<endl;}
/*正序输出*/int a,b,c;cout<<"顺序输出: ";a=pow(10,(i-1));   //pow为10的几次幂b=a*10;while(a>=1){c=(x%b-x%a)/a;cout<<c<<"  ";a=a/10;b=b/10;}cout<<endl;
/*逆序输出*/int m;m=x;cout<<"逆序输出: ";while(m!=0){cout<<m%10<<"  ";m/=10;}cout<<endl;return 0;
}

3.13 企业发放的奖金根据利润提成  分别用if 和switch

#include <iostream>
using namespace std;
int main ()
{ long i;                       //i为利润float  bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;             //利润为10万元时的奖金bon2=bon1+100000*0.075;      //利润为20万元时的奖金bon4=bon2+100000*0.05;       //利润为40万元时的奖金bon6=bon4+100000*0.03;       //利润为60万元时的奖金bon10=bon6+400000*0.015;     //利润为100万元时的奖金cout<<"enter i:"; cin>>i;if (i<=100000)bonus=i*0.1;                     //利润在10万元以内按10%提成奖金else if (i<=200000)bonus=bon1+(i-100000)*0.075;    //利润在10万元至20万时的奖金else if (i<=400000)bonus=bon2+(i-200000)*0.05;     //利润在20万元至40万时的奖金else if (i<=600000)bonus=bon4+(i-400000)*0.03;     //利润在40万元至60万时的奖金else if (i<=1000000)bonus=bon6+(i-600000)*0.015;    //利润在60万元至100万时的奖金elsebonus=bon10+(i-1000000)*0.01;   //利润在100万元以上时的奖金cout<<"bonus="<<bonus<<endl; return 0;}
#include <iostream>
using namespace std;
int main ()
{long i;float bonus,bon1,bon2,bon4,bon6,bon10;int c;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;cout<<"enter i:";cin>>i;c=i/100000;if (c>10)  c=10;switch(c){case 0: bonus=i*0.1; break;case 1: bonus=bon1+(i-100000)*0.075; break;case 2:case 3: bonus=bon2+(i-200000)*0.05;break;case 4:case 5: bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015; break;case 10: bonus=bon10+(i-1000000)*0.01;}cout<<"bonus="<<bonus<<endl;return 0;
}

3.14 输入四个整数,由小到大

#include <iostream>
#include <string>
#define m 4
using namespace std;int main() {int n[m-1];int i, j;int temp;                                 //用于缓存需要交换的数字cout << "请输入4个数字!" << endl;for (i = 0; i < m; i++) {cin >> n[i];}for (i = 0; i < m-1;i++) {                  //共进行9步for (j = 0; j < m-1 - i;j++) {      //在每一步进行10-i次两两比较if (n[j] > n[j + 1]) {temp = n[j];n[j] = n[j + 1];n[j + 1] = temp;}}}cout << "排序后的数据是:" << endl;for (i = 0; i < m; i++) {cout << n[i] << ' ';}cout << endl;return 0;
}

3.15 输入两个正整数mn,求最大公约数最小公倍数

#include <iostream>
using namespace std;
int main ()
{int p,r,n,m,temp;cout<<"please enter two positive integer numbers n,m:"; cin>>n>>m; if (n<m)              {temp=n;n=m;m=temp;   //把大数放在n中, 小数放在m中}p=n*m;         //先将n和m的乘积保存在p中, 以便求最小公倍数时用while (m!=0)   //求n和m的最大公约数{r=n%m;n=m;m=r;}cout<<"HCF="<<n<<endl;cout<<"LCD="<<p/n<<endl;        // p是原来两个整数的乘积return 0;}

3.16输入一行字符,统计出英文字母  空格  数字  其他字符 的个数

#include <iostream>
using namespace std;
int main ()
{char c;int letters=0,space=0,digit=0,other=0;cout<<"enter one line:"  <<endl;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++;elseother++;}cout<<"letter:"<<letters<<", space:"<<space<<", digit:"<<digit<<", other:"<<other<<endl;return 0; } 

3.17求a+aa+aaa+……+aa……a的值,输入n

#include <iostream>
using namespace std;
int main ()
{int a,n,i=1,sn=0,tn=0;cout <<"input a & n  ";cin >>a>>n;while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}cout<<"a+aa+aaa+...= "<<sn<<endl;return 0; } 

3.18 求   

#include <iostream>
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<<"1!+2!+...+20!="<<s<<endl;return 0;} 

3.19输出所有水仙花数(三位数,各个数字立方和 等于 数字本身)

#include <iostream>
using namespace std;
int main ()
{int i,j,k,n;cout<<"narcissus numbers are:"<<endl;for (n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if (n == i*i*i + j*j*j + k*k*k)cout<<n<<" ";}cout<<endl;return 0;}

3.20    1000以内完数。(数值=因子之和)

#include <iostream>
using namespace std;int main(){int m,s,i;for (m=2;m<1000;m++){s=0;for (i=1;i<m;i++)if ((m%i)==0) s=s+i;if(s==m){cout<<m<<" is a完数"<<endl;cout<<"its factors are:";for (i=1;i<m;i++)if (m%i==0)  cout<<i<<" ";cout<<endl;}}return 0;}

3.21

#include <iostream>
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<<"sum="<<s<<endl;return 0;} 

3.22

#include <iostream>
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<<"total="<<x1<<endl;return 0;} 
//递归函数(第四章)#include<iostream>
using namespace std;
int peach(int);int main()
{cout << peach(10) << endl;return  0;
}int peach(int n)
{int c;if (n == 1)c = 1;elsec = (peach(n-1)+1)*2;return c;
}

3.23迭代法求x=sqrt(a)

#include <iostream>
#include <cmath>
using namespace std;
int main(){float a,x0,x1;cout<<"enter a positive number:";cin>>a;            // 输入a的值 x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)>=1e-5);cout<<"The square root of "<<a<<" is "<<x1<<endl;return 0;} 

3.24输出

*

***

*****

*******

*****

***

*

#include <iostream>
using namespace std;
int main(){int i,k;for (i=0;i<=3;i++)         // 输出上面4行*号 {for (k=0;k<=2*i;k++)cout<<"*";           // 输出*号 cout<<endl;           //输出完一行*号后换行 }for (i=0;i<=2;i++)        // 输出下面3行*号 {for (k=0;k<=4-2*i;k++)cout<<"*";          // 输出*号 cout<<endl;           // 输出完一行*号后换行}return 0;} 

(心形图像)

#include<iostream>#include<cmath>
using namespace std;
int main()
{float x, y;for (y = 1.5f; y >-1.5f; y -= 0.1f){for (x = -1.5f; x <1.5f; x += 0.05f){float a = x*x + y*y - 1;if ((a*a*a- x*x*y*y*y)<=0)//心形方程cout << '*';else cout << " ";}cout << endl;}return 0;
}

3.25两个乒乓球队进行比赛,各出3人。甲队为ABC三人,乙队为XYZ三人。已抽签决定比赛名单。

A不和X比,C不和XZ比,找出名单。

#include<iostream>
using namespace std;
int main()
{char i,j,k;for (i='X';i<='Z';i++)for(j='X';j<='Z';j++)if(i!=j)for(k='X';k<='Z';k++)if(i!=k&&j!=k)if(i!='X'&&k!='X'&&k!='Z')cout<<"A-"<<i<<"   B-"<<j<<"   C-"<<k<<endl;return 0;
}

零基础C++,有很多不完善的地方和不想改网上参考答案的地方

有问题可留言,反正我也不会

C++程序设计谭浩强 第三章(程序设计初步)习题答案(部分有改进)相关推荐

  1. C程序设计 谭浩强 第三章

    变量类型 常量 注:一般变量初始化不是在编译阶段完成的(只有静态存储变量和外部变量的初始化时在编译阶段完成的),而是在程序运行时执行本函数时赋予初值的,相当于执行一个赋值语句. 整型常量 实型常量:十 ...

  2. C++面向对象的程序设计谭浩强 第六章课后题

    以往章节 C++面向对象的程序设计谭浩强 第二章课后题 C++面向对象的程序设计谭浩强 第三章课后题 C++面向对象的程序设计谭浩强 第四章课后题 C++面向对象的程序设计谭浩强 第五章课后题 C++ ...

  3. C程序设计-谭浩强 第三版-学习笔记 第2章 程序的灵魂 算法

    第 2 章 算法 --程序的灵魂 程序 = 算法 + 数据结构 (沃思,计算机科学家) 一个程序应该包括两方面: 对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构(data stru ...

  4. C程序设计-谭浩强 第三版-学习笔记第1章 C语言概述

    第一章 C语言概述 1.C语言历史背景 C语言是在B语言的基础上发展起来的,兼具一般高级语言和低级语言的优点,可用来编写系统软件或应用软件. 1972-1973年,贝尔实验室在B语言基础上设计出C语言 ...

  5. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  6. 输出所有3位数的水仙花数,例:153=1的3次方+5的3次方+3的3次方 谭浩强《c语言程序设计》第五章第八题

    题目 本题是谭浩强<c语言程序设计>第五章第八题 题目:输出所有3位数的水仙花数,例:153=1的3次方+5的3次方+3的3次方 提示:以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨 ...

  7. C程序设计 谭浩强 第九章

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  8. 1个球从100m落下,每次时,反跳原高度的一半,再落,再反弹,求第10次落地共经过多少m,第10次反弹多高。 谭浩强《c语言程序设计》第五章第十一题

    题目 本题是谭浩强<c语言程序设计>第五章第十一题 题目:1个球从100m落下,每次时,反跳原高度的一半,再落,再反弹,求第10次落地共经过多少m,第10次反弹多高. 提示:以下是本篇文章 ...

  9. C语言程序设计第五版 谭浩强 第四章 课后习题 答案

    谭浩强C语言程序设计第五版 第4章 课后习题 答案 点我看视频讲解+可运行源码 记得一键三连哦 第四章 选择结构程序设计 1. 什么是算术运算?什么是关系运算?什么是逻辑运算? [答案解析] 算熟运算 ...

  10. 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中,谭浩强《c语言程序设计》第六章第四题

    题目 本题是谭浩强<c语言程序设计>第六章第四题 题目:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中. 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同 ...

最新文章

  1. Linux系统分辨率设置
  2. 设计模式 — 行为型模式 — 中介者模式
  3. 基于deep learning的快速图像检索(Deep Learning of Binary Hash Codes for Fast Image Retrieval)
  4. python实现tomasulo算法_手写算法-python代码实现KNN
  5. 禁止套娃!Redis官网宕机,返回“连接不上Redis”
  6. [原]第一次遭遇Oracle的Bug,纪念一下 |ORA-00600 kmgs_pre_process_request_6|
  7. 「Vueconf」探索 Vue3 中 的 JSX
  8. eclipse查看git地址_gitamp;github的入门实战
  9. 已知两点坐标拾取怎么操作_已知的操作员学习-第4部分
  10. 金陵科技学院计算机开设课程,金陵科技学院各专业介绍
  11. Django 缓存系统
  12. DataBase -- JOIN
  13. 将rdd存储到本地的一个文件中
  14. 鸿蒙系统简介ppt,鸿蒙来了!华为到底采用的是什么逆天的研发体系?500页PPT详解...
  15. 联众打码平台接口调用(初版)
  16. python写完程序怎么运行
  17. mybatis采坑之 PageHelper.startPage出现两个limit情况
  18. 【机翻】xenomai RTnet – 灵活的硬实时网络框架
  19. 阿里滑块 x82y x5sec本地dll 易语言
  20. 强烈建议你把这5个跨境神器都收藏了

热门文章

  1. 闽江学院计算机毕设,闽江学院软件学院关于2017届毕业论文答辩有关事项的通知...
  2. app store connect
  3. 电脑如何控制点击android手机,安卓手机怎么控制电脑?红米手机远程控制操作电脑方法...
  4. 支付宝网页支付(签名)
  5. 【Python笔记】第5章 if语句
  6. UE5 IK重定向并修改人物姿势
  7. checking for libzip... configure: error: system libzip must be upgraded to version = 0.11问题解决
  8. 西数文件共享服务器,数据轻松共享 西数Live网络硬盘首测
  9. Oracle 数据库(一)—— Oracle 数据库基本介绍
  10. 14.敏捷组织转型四步法之4 - 通过复盘、回顾,持续改进