1. 程式人生 > 實用技巧 >洛谷入門2-分支結構

洛谷入門2-分支結構

一、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 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); 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;
}