c++高手帮个忙

来源:百度知道 编辑:UC知道 时间:2024/06/03 07:52:53
大家好 请给出全部详细代码 麻烦大家了啊

1. 编写一个求三角形面积的C++函数,其函数原型定义如下:
double TriangleArea(double a,double b,double c);
其中,a,b,c分别表示三角形三条边的长度,函数的返回值为三角形的面积。
2. 求正整数m和n的最大公约数及最小公倍数。函数原形如下:
int GreatestCommonDivisor(int m,int n); //返回最大公约数
int LeastCommonMultiple(int m,int n) ; //返回最小公倍数
给出函数的C++代码,并加必要的注释。
3. 定义一个队列类,并给出全部实现代码。
4. 编写一个函数,求出一个正整数的所有因子。函数原型为
int AllFactors(int a[],int k);
其中,所有正整数存放在数组a中,k为数组长度。给出该函数的C++实现代码,结果放在数组a中,函数的返回值为因子的个数。
5. 写一个将整数转换成字符串的函数。函数原型为
int IntegerToString(int k,char s[]);
其中,k为待转换的整数,结果放在数组s中。给出该函数的C++实现代码。
6. 定义一个堆栈类,并给出全部实现代码。

麻烦大家了啊
我会给高分的

1.
double TriangleArea(double a,double b,double c)
{
float t=(a+b+c)/2;
return sqrt(t*(t-a)*(t-b)*(t-c));//利用海轮公式
}

2.
int GreatestCommonDivisor(int m,int n)
{
//辗转相除法
int mi,ma,k;
ma=m>n?m:n;
mi=m<n?m:n;
while(1)
{

k=ma%mi;
if(k==0)
return mi;
ma=mi;
mi=k;

}
return 1;
}

int LeastCommonMultiple(int m,int n)
//两个数的积等于它们最大公约数与最小公倍数的积.
{
int k=GreatestCommonDivisor(m,n);
return m*n/k;
}

3.
struct element
{
int x,y;
element *next;
};
class Que
{
int count;
element *head;
public:
Que(){head=new element;head->next=NULL;}
int GetCount(){return count;}
void push(element *e);
element *pop();
};
void push(element *e)
{
if(!e)
return;

count++;