一个C++二级题目,希望达人解决下!
题目:已知三角形三边a.b.c,面积是根号下s(s-a)(s-b)(s-c),其中s=(a+b+c)/2,首先判断三边能否构成三角形,不能则输出错误,能则计算并且输出.用2个函数,一个(validate())来判断,另一个(area())计算面积并且输出.
题目2:将10个数从键盘输入,,存放在数组中,除去重复的,并且更新数组个数.最后用排序函数sort()排序并且输出
[解决办法]
//第一个
#include <iostream>
#include <math.h>
using namespace std ;
int validate( int a , int b , int c ) ;
double area( int a , int b , int c ) ;
int main()
{
int a , b , c , temp ;
cout < < "Input three numbers a , b and c : " ;
cin > > a > > b > > c ;
temp = validate( a , b , c ) ;
if( temp ==0 )
{
cout < < "not a trangle! " < < endl ;
system( "pause ") ;
return 0 ;
}
else
{
cout < < "The area of the trangle is: " < < area( a , b , c ) < < endl ;
}
system( "pause ");
return 0 ;
}
double area( int a , int b , int c )
{
int S ;
S = ( a + b + c ) / 2 ;
return sqrt(S * ( S - a ) * ( S - b ) * ( S - c )) ;
}
int validate( int a , int b , int c )
{
if( a + b > c && a + c > b && b + c > a && abs(a - b) < c && abs(a - c) < b && abs( b - c) < a )
return 1 ;
else
return 0 ;
}
//第二个
#include <iostream>
#include <iomanip>
#define Maxsize 10 //数组的大小
using namespace std ; //命名空间的使用
void sort( int list[] , int num ) ; //声明一个排序函数
int main()
{
int List[ Maxsize ] = { 0 } ; //定义一个Maxsize长的数组
int num = Maxsize ; //对数组中现有元素的记忆
//输入的数字个数
cout < < "Input ten numbers(1-32676): " ;
for( int i = 0 ; i < Maxsize ; ++i )
cin > > List[ i ] ;
//除去数组中相同的数值,只保留不一样的数值
for( int i = 0 ; i < num - 1 ; ++i )
{
for( int j = i + 1 ; j < Maxsize ; ++j )
{
if( List[ i ] == List[ j ] )
{
for( int k = j ; k < num ; ++k )
{
List[ k ] = List[ k + 1 ] ;
}
num-- ;
}
}
}
for( int i = 0 ; i < num ; ++i )
cout < < setw( 5 ) < < List[ i ] ; //输出未排序前的数组值,即删除相同元素后的数组值
cout < < endl ;
sort( List , num ) ;//调用排序函数
system( "pause ") ; //暂停函数
return 0 ; //函数返回值
}
void sort( int list[] , int num )//排序函数(从小到大)
{
int temp ;
for( int i = 0 ; i < num - 1 ; ++i )
{
for( int j = i + 1 ; j < num ; ++j )
{
if( list[ i ] > list[ j ])
{
//数组值的交换
temp = list[ i ] ;
list[ i ] = list[ j ] ;
list[ j ] = temp ;
}
}
}
for( int i = 0 ; i < num ; ++i )
cout < < setw(5) < < list[ i ] ;
}