【C++基础教程】第三课

上次的课后练习答案

练习一

第一题a=8

第二题8

第三题(int)(a+0.2)

提示:把浮点数转换为整数,用强制类型转换的方式。(int)(...)表示把...的内容强制转换为int类型,同理,(float)(...)表示强制转换为float类型。

练习二

第一题输出:

1 2

3 3

第二题

第一空10 第二空10 第三空100

提示:数位分离的做法,最后一位就是数除以10的余数,十位就是先除以10然后取余10,百位就是直接除以100。可以自己验证一下。

 

一,输入语句

【题目】从键盘输入一个数,输出这个数的相反数。

分析:我们可以用输入语句来从键盘输入数据。

输入语句的基本格式如下:

 

cin>>表达式1>>表达式2>>...>>表达式n;

 

输入语句中,用>>连接的表达式必须是变量。例如,我们运行如下的程序段:

#include<iostream>
using namespace std;
int main(){
  int n;
  cin>>n;
  cout<<-n;
  return 0;
}

运行这段程序时,程序会进入“等待输入”的状态,光标在不断闪动。此时,用户就可以从键盘输入数据了。

 

 输入数据后,按下回车键,系统就会输出它的相反数。

 

 【例题】传送门http://noi.openjudge.cn/ch0101/02/。输入三个整数,把第二个输入的整数输出。

提示:我们可以定义三个变量,分别存放三个要求输入的整数。

#include<iostream>
using namespace std;
int main(){
  int a,b,c;
  cin>>a>>b>>c;
  cout<<b;
  return 0;
}

【例题】传送门http://noi.openjudge.cn/ch0101/04/。保留3位小数输出一个浮点数。

提示:用“cout<<fixed<<setprecision(x)<<变量”输出保留x位小数的浮点数。

我们定义一个变量,然后通过上述的输出格式控制语句fixed<<setprecision来保留小数位数进行输出。

#include<iostream>
#include<iomanip>//注意使用setprecision需要引用这个库!!!
using namespace std;
int main(){
  float x;
  cin>>x;
  cout<<fixed<<setprecision(3)<<x;
  return 0;
}

 

补充阅读:

cin的输入语句是按照换行符和空格作为读入的分隔符的。例如:cin>>a>>b;

我们在控制台这样输入:

1 2

 

 也可以这样输入:

1

2

结果都是一样的。

 

二,课后练习

1,阅读程序写结果。(http://noi.openjudge.cn/ch0101/08/)

#include<iostream>
using namespace std;
char a;
int main(){
  cin>>a;
  cout<<"  "<<a<<endl;
  cout<<" "<<a<<a<<a<<endl;
  cout<<a<<a<<a<<a<<a<<endl;
  return 0;
}

输入:x

输出:

 

2,阅读程序写结果。

#include<iostream>
using namespace std;
int main(){
  int a,b,c,d;
  cin>>a>>b>>c;
  d=a+b;
  cout<<d/c;
  return 0;
}

输入:1 2 3

输出:

 

3,完善程序:

一个人买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时还有多少个完整的苹果?

提示:ceil(a)表示a向上取整的值,使用时需要包含cmath库。

#include<iostream>
#include<cmath>
using namespace std;
int main(){
  double n,x,y;
  cin>> _1_ >> _2_ >> _3_;
  cout << n - _4_ ( _5_ / x);
  return 0;
}

 

posted @ 2021-07-10 16:02  计算机知识杂谈  阅读(343)  评论(0编辑  收藏  举报