第一题:输入3个数字,判断能不能形成一个三角形。能则输出面积。(公式给你了,感觉主要考的是sqrt函数)。第二题:用递归方法将一个数组转置,并按顺序输出。
第三题:编写一个IntSet类,至少两个成员属性,data[]和end,end指向最后一个元素。至少一个构造函数,一个析构函数,一个print函数输出所有元素。一个求并集函数和求交集函数(感觉要用到友元)
1 第一题:
//输入3个数字,判断能不能形成一个三角形,如果能构成三角形,则输出面积。#include <iostream>#include <cmath>using namespace std;int main(){double a, b, c, p;cout << "请输入三角形的三条边: ";cin >> a >> b >> c;if(a+b<=c || fabs(a-b)>=c) { //三角形两边之和大于第三边和两边之差小于第三边的逆否命题 cout << "三条边不能构成三角形!";}else {p = (a+b+c)/2;cout << "三角形的面积为:" << sqrt(p*(p-a)*(p-b)*(p-c));}return 0;}
2第二题:
//用递归方法将一个数组转置,并按顺序输出。#include <iostream>using namespace std;//转置数组 void Inverse(int a[ ], int left, int right) {int temp = 0;if(left >= right) return;//递归出口 temp = a[left]; a[left] = a[right];a[right] = temp;Inverse(a, left+1, right-1);//递归转置数组 }int main(){int n;cout << "请输入数组的大小: ";cin >> n;int a[n], t;for(int i = 0; i < n; i++) {cin >> t;a[i] = t;}Inverse(a, 0, n-1);for(int j = 0; j < n; j++) {cout << a[j] << " ";}return 0;}
3 第三题