1. 程式人生 > >輸入三個數, 判斷是什麼樣的三角形

輸入三個數, 判斷是什麼樣的三角形

三角形的任意兩邊之和, 都比第三邊長

#include <stdio.h>

bool yesorno(float, float, float);	//函式宣告

void main()
{
	
	float a, b, c;	//定義三條邊
	bool s;			//布林型變數
	char ch;
	
	do
	{
		printf("請輸入3角形的三條邊:\n");
		printf("a = ");
		scanf("%f", &a);
		printf("b = ");
		scanf("%f", &b);
		printf("c = ");
		scanf("%f", &c);
		printf("\n");
		
		//呼叫函式, 判斷能否組成三角形, 能返回真, 否則返回假
		
		s = yesorno(a, b, c);
		
		if(s)
		{
			printf("這三個陣列成的3角形是: ");
			
			if(a == b && b == c)
			{
				printf("等邊3角形\n");
			}
			else
			{
				if(a != b && b != c && a != c)
					printf("不等邊3角形\n");
				else
					printf("等腰3角形\n");
			}
			
		}
		else
		{
			printf("你輸入的三個數%f, %f, %f ,它們不能組成3角形!\n", a, b, c);
		}
		
		printf("還要繼續判斷嗎?(Y/n): ");
		while((ch = getchar()) != '\n')
			continue;					//去掉緩衝區中的所有字元, 準備下次輸入
		ch = getchar();			//輸入是否進行繼續
		
	}while((ch == 'Y') || (ch == 'y'));
	
	
}


bool yesorno(float a, float b, float c)
{
	if((a + b > c) && (a + c > b) && (c + b > c))
		return true;
	else
		return false;
	
}

在vc++ 6.0中輸出結果為:

請輸入3角形的三條邊:
a = 3
b = 4
c = 5

這三個陣列成的3角形是: 不等邊3角形
還要繼續判斷嗎?(Y/n):