第二次作业 - 郑丹儿
1.最基础知识过关,第五章之后的函数和数组的相关知识点都理解不清晰,相关题目上写出正确的编程对我来说很有难度。课堂上听的时候似懂非懂,在新手赛,做编程作业和小测的过程中发现了很多问题。因此在c++的学习中我的薄弱点相对较多,解决需要很长时间。所以我觉得只能从最开始薄弱的地方开始看书练习多加学习,以攻克相关知识点的基础题为主。
2.样题:
实现一个面积计算器,它能够计算矩形或长方体的面积。
函数接口定义:
int area(int x, int y);
int area(int x, int y, int z);
第一个函数计算长方形的面积,其中x和y是长和宽。第二个函数计算长方体的表面积,x,y和z是长,宽和高。
裁判测试程序样例:
#include<iostream>
#include<string>
using namespace std;
int area(int,int);
int area(int,int,int);
int main()
{
int i, repeat, c, x, y, z;
cin>>repeat;
for(i=0;i<repeat;i++){
cin>>c;
if(c==2){
cin>>x>>y;
cout<<area(x,y)<<endl;
}
if(c==3){
cin>>x>>y>>z;
cout<<area(x,y,z)<<endl;
}
}
return 0;
}
/* 请在这里填写答案 */
输入样例:
2
2 1 2
3 2 3 4
输出样例:
2 52
解题:这应该说是比较简单的一道函数题,但我是希望认真解决基础题开始的,还是花费了一些时间去理解它。
根据数学知识和c++知识的结合,可以了解到这个题里面需要区分两种情况,一是输入两个数求矩形面积的,二是输入三个数求长方体表面积的。所以需要定义两个函数,区分出两种情况,再在函数编写里根据面积和立体表面积的数学公式计算出来,最终输出正确结果。