判斷直角三角形,就是兩邊長的平方和等於第三邊的平方,我們這邊就能用到if和||或者的條件
#include <stdio.h>
int main(){
int side1,side2,side3;
printf("Please enter the first lengths: ");
scanf("%d%d%d", &side1, &side2, &side3);
if(side1*side1+side2*side2==side3*side3||
side1*side1+side3*side3==side2*side2){
printf("Rectangular triangle\n");
}
return 0;
}
這邊的解法相當簡單,假設三個變數,第一邊邊長加第二邊邊長的平方和是否等於第三邊邊長的平方,或第一邊邊長加上第三邊邊長的平方和是否等於第二邊邊長的平方,是的話就印出Rectangular triangle直角三角形
#include <stdio.h>
int main(){
int side1,side2,side3;
printf("Please enter the the lengths: ");
scanf("%d%d%d", &side1, &side2, &side3);
if(side1==side2&&side2==side3){
printf("Regular triangle\n");
}
if(side1==side2||side1==side3||side2==side3){
printf("Isoceles triangle\n");
}
if(side1*side1+side2*side2==side3*side3||
side1*side1+side3*side3==side2*side2||
side2*side2+side3*side3==side1*side1){
printf("Rectangular triangle\n");
}
return 0;
}
上面的程式碼能判斷出正三角形、等腰三角形、直角三角形,那我們套入各種三角形的判斷條件就好,但這樣程式碼好像太長了,那我們先假設一個條件side1<=side2<=side3,這樣程式碼會更精簡,下程式碼
#include <stdio.h>
int main(){
int side1,side2,side3;
printf("Please enter the the lengths: ");
scanf("%d%d%d", &side1, &side2, &side3);
if(side1==side3){
printf("Regular triangle\n");
}
if(side1==side2||side2==side3){
printf("Isoceles triangle\n");
}
if(side1*side1+side2*side2==side3*side3){
printf("Rectangular triangle\n");
}
return 0;
}
但是我們確保使用者有照side1<=side2<=side3的條件輸入,所以到時候要透過數值的交換方式來處理由小排到大的排序問題
一個char變數就是儲存ASCII裡的一個整數編號(0~127),其中分成半形字(可顯示)編號32~126一個整數編號會對應到一個半形字,和控制字元(不可顯示)編號0~31、127一個整數編號會對應到一個控制字元
所以這題我們就要用到char的概念
#include<iostream>
using namespace std;
int main()
{
int i;
for( i=32 ; i<=126 ; i++ )
{
cout << i << " " << (char)i << endl;
}
return 0;
}
假設我們要把整數32~126輸出,那就用char輸出