洛谷入門2-分支結構
阿新 • • 發佈:2020-09-15
一、ISBN號碼
解題:
# include<iostream> # include<string> using namespace std; int main() { char isbn[14],c;//把ISBN碼放入陣列中、c是計算出的識別碼 cin>>isbn; int k=0,sum=0;// for(int i=0;i<11;i++)//不包括識別碼 { if(isbn[i]!='-') { k++; sum+=k*(isbn[i]-'0'); } } sum%=11; if(sum==10) c='X'; else c= sum+'0'; if(c==isbn[12]) cout<<"Right"; else { isbn[12]=c; cout<<isbn; } return 0; }
二、小魚的航程
解題
# include<iostream> using namespace std; int main() { int x,n,sum=0;;//從周幾算起、經過多少天、一共遊了多少、星期幾; cin>>x>>n; for(int i=0;i<n;i++) { if(x!=6&&x!=7) sum+=250; if(x==7) x=0; x++; } cout<<sum; return 0; }
三、三角函式
解題:
# include<iostream> # include<algorithm> using namespacestd; int main() { int a,b,c; cin>>a>>b>>c; //對三條邊進行排序 if(a>b) swap(a,b); if(a>c) swap(a,c); if(b>c) swap(b,c); int gcd;//最大公約數 //找出a和c的最大公約數,進行約分 for(int i=a;i>0;i--) { if(c%i==0&&a%i==0) { gcd=i; break; } } cout<<a/gcd<<"/"<<c/gcd; return 0; }
四、ABC
解題:
# include<iostream> # include<algorithm> using namespace std; int main() { int a[3]; char A,B,C; for(int i=0;i<3;i++) { cin>>a[i]; } cin>>A>>B>>C; //要輸出正確的ABC順序,先把輸入的數字排序 sort(a,a+3); cout<<a[A-'A']<<" "<<a[B-'A']<<" "<<a[C-'A'];//根據下標輸出正確的順序 return 0; }
五、三角形分類
解題:
# include<iostream> # include<cmath> # include<iomanip> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; //將三條邊排序 if(a>b) swap(a,b); if(a>c) swap(a,c); if(b>c) swap(b,c); if(a+b<=c)//判斷是否是三角形 { cout<<"Not triangle"<<endl; return 0; } if(a*a+b*b==c*c)//判斷三角形形狀 { cout<<"Right triangle"<<endl; } else if((a*a+b*b) < c*c ) { cout<<"Obtuse triangle"<<endl; } else if((a*a+b*b) > c*c) { cout<<"Acute triangle"<<endl;; } if(a==b||b==c||c==a)//判斷是否是特殊三角形 cout<<"Isosceles triangle"<<endl; if(a==b&&b==c) cout<<"Equilateral triangle"<<endl; return 0; }