最後五篇了 加油!
今天練習CPE曾經出過的一題題目
任意一個正方形會是長方形,但不是所有的長方形都是正方形。
任意一個長方形會是四邊形,但不是所有的四邊形都是長方形。
任意一個四邊形是由四個邊所組成的,但不是所有由四邊所組成的形狀都會是四邊形。
然後我們現在有四個邊,我們需要判斷出他們,看他們能否組成正方形,若無法,看他們是否能組成長方形,若還是無法,就判斷出他們是否為四邊形。
輸入第一行為判斷此程式需執行幾次判斷為四邊形
之後的輸入即為四個邊的長度,四個數字均為正整數,範圍由0到230
輸出規則是,正方形印出正方形,長方形印出長方形,四邊形印出四邊形,若不是四邊形則印出香蕉
.
.
.
.
.
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int x,y;
int a[5],i,j;
scanf("%d",&x);
for(y=0;y<x;y++)
{
scanf("%d %d %d %d",&a[0],&a[1],&a[2],&a[3]);
for(i=0;i<4;i++)
{
for(j=i;j<4;j++)
{
if(a[j]<a[i])
{
a[4] = a[j];
a[j] = a[i];
a[i] = a[4];
}
}
}
if(a[0]==a[1] && a[1]==a[2] && a[2]==a[3])
{
printf("正方形\n");
}
else if (a[0]==a[1] && a[2]==a[3])
{
printf("長方形\n");
}
else if (a[0]+a[1]+a[2]<a[3])
{
printf("香蕉\n");
}
else
{
printf("四邊形\n");
}
}
}
我們這邊會先將輸入的數字進行由小到大的排列,排列完後可以讓我們更方便進行判斷,像是在判斷是不是香蕉時需要由最小三個邊相加小於最大邊
Day26就到這啦BYE~