1. 程式人生 > >C語言實現三角形型別判斷

C語言實現三角形型別判斷

/*
 * 檔名:三角形型別判斷.c
 * 功能描述:輸入三角形三條邊,判斷其型別
 *     (普通 直角 等邊 等腰) 
*/
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a, b, c;

    fprintf(stdout, "請輸入任意三角形的三條邊長(正整數):");

    /* 獲取並檢查輸入 */
    while (1)
    {
        if (fscanf(stdin, "%d%d%d", &a,&b,&c) != 3 || \
                               a < 0
|| b < 0 || c < 0) { fprintf(stderr, "輸入錯誤!請重新輸入:"); while (fgetc(stdin) != '\n'); /* 去掉多餘非法字元 */ continue; } else break; } /* 判斷是否可構成三角形 */ /* 任意兩邊之和大於第三邊 */ if (a+b<=c || a+c<=b || b+c<=a) { fprintf
(stdout, "輸入的邊長無法構成三角形!\n"); exit(0); } /* 判斷三角形型別 */ if (a == b || a == c || b == c) { if (a==b && b==c && a==c) { fprintf(stdout, "輸入的邊長為等邊三角形\n"); } else { fprintf(stdout, "輸入的邊長為等腰三角形\n"); } } else
if (a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a) { fprintf(stdout, "輸入的邊長為直角三角形\n"); } else {     fprintf(stdout, "輸入的邊長為普通三角形\n"); } return 0; }