第一章基本上是入门啦,按理来说这个太简单了实在不应该安上算法的标签……
不过我想从头来做一遍例题的话也有助于基础复习吧,毕竟这三个月都没怎么码过代码了。
例1 -1 输入底面半径r和高h,输出圆柱体的表面积,保留3位小数
例1-2 输入一个三位数,分理百位、十位、个位,反转输出
例1-3 输入两个整数a和b,交换二者的值,然后输出
例1-4 已知鸡兔总数量为n,总腿数为m,输入n和m,依次输出鸡兔数目
例1-5 输入3个整数,从小到大排序输出
不过我想从头来做一遍例题的话也有助于基础复习吧,毕竟这三个月都没怎么码过代码了。
例1 -1 输入底面半径r和高h,输出圆柱体的表面积,保留3位小数
#include
#include
#include
using namespace std;
int main()
{
const double pi = acos(-1.0);
cout << pi << endl;
//与const double pi = 3.14159比起来,调用c++自身的库是不是更可靠?
double r, h, s1,s2,s;
cin >> r >> h;
s1 = pi*r*r;
s2 = 2*pi*r*h;
s = 2*s1+s2;
cout << "Area = " <
<< setprecision(3) << s;
//【误】cout << "Area = " <
<< s; // 如果不加fixed,则setprecision起不到控制小数位数的作用 }
例1-2 输入一个三位数,分理百位、十位、个位,反转输出
#include
using namespace std;
int main()
{
int A, a, b;
while(cin >> A){
a =A%10;
A /=10;
b =A%10;
A /=10;
A += b*10+a*100;
cout << A;}
}
例1-3 输入两个整数a和b,交换二者的值,然后输出
#include
using namespace std;
int main()
{
int a, b, c;
while(cin >> a >> b)
{
c = a;
a = b;
b = c;
cout << a << " " << b;
}
}
例1-4 已知鸡兔总数量为n,总腿数为m,输入n和m,依次输出鸡兔数目
#include
using namespace std;
int main()
{
int x, y, m, n;
while(cin >> m >> n)
{
y = n/2 - m;
x = m - y;
if(x >= 0 && y >= 0 && x+y==m && 2*x+4*y==n) cout << x << " " << y << endl;
//查错1 发现判断时写成了2*x+4*y==m
//查错2 发现把m和n弄混了,下次对意义不明的字母尽量写注释,或用意义明确的字符代替无意义变量
else cout << "No answer" << endl;
}
}
例1-5 输入3个整数,从小到大排序输出
#include
using namespace std;
int main()
{
int x[3];
while(cin >>x[0] >> x[1]>>x[2])
{
for(int i = 0; i<3; i++)
//冒泡排序,虽然是大材小用,可是比强行else if要简单,毕竟keep it simple and stupid 嘛
for(int j = i; j<3; j++)
if (x[i]>x[j]){
int temp = x[i];
x[i] = x[j];
x[j] = temp;
}
for(int i = 0; i<3; i++) cout << x[i] << " ";
}
}