程式碼如下,請指點指點
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
map<int,int> M;
//=======================================
int main(){
int n,x,flag,e[10];
cin>>n;
while(n--){
M.clear();
flag=0;
for(int i=0; i<4; i++){
cin>>e[i];
if(x>0) M[e[i]]++;
else flag=1;
}
int len=M.size();
if(len==1 && flag==0) cout<<"square";
else if(len==2 && flag==0) cout<<"rectangle";
else {
sort(e,e+4); //由小到大排序
if(e[0]+e[1]+e[2]<=e[3]) flag=1; //"1 2 3 6" is quadrangle???
if(flag==0) cout<<"quadrangle";
else cout<<"banana";
}
if(n>0) cout<<endl;
}
return 0;
}
程式碼如下,請指點指點
#include
#include
#include
using namespace std;
map<int,int> M;
//=======================================
int main(){
int n,x,flag,e[10];
cin>>n;
while(n--){
M.clear();
flag=0;
for(int i=0; i<4; i++){
cin>>e[i];
if(x>0) M[e[i]]++;
else flag=1;
}
int len=M.size();
if(len==1 && flag==0) cout<<"square";
else if(len==2 && flag==0) cout<<"rectangle";
else {
sort(e,e+4); //由小到大排序
if(e[0]+e[1]+e[2]<=e[3]) flag=1; //"1 2 3 6" is quadrangle???
if(flag==0) cout<<"quadrangle";
else cout<<"banana";
}
if(n>0) cout<<endl;
}
return 0;
}
首先,1、2、3、6是無法組成四邊形的。
再來,您輸入的for迴圈裡面的「x」這個變數是有何用途呢?既沒有初始化,也沒有後續的改值。
最後,這題應該是不需要map的,為何使用到了map呢?