洛谷入门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; }