东方博宜OJ题解
目錄
Ⅰ.基本運算
3.拆位練習(xí)
1605: 【入門】求一個兩位數(shù)的個位和十位的和
1606: 【入門】求一個兩位數(shù)倒序的結(jié)果
1027: 【入門】求任意三位數(shù)各個數(shù)位上數(shù)字的和
1028: 【入門】輸入一個三位數(shù),把個位和百位對調(diào)后輸出
1390: 【入門】四位數(shù)的和
1607: 【入門】兩位數(shù)運算
1020: 【入門】算算和是多少
1029: 【入門】倒序輸出一個四位整數(shù)
1418: 【入門】求一個5位數(shù)的各個位之和
1608: 【入門】三位數(shù)運算
1610: 【入門】買水果
1609: 【入門】四位數(shù)的計算
1611: 【入門】求六位整數(shù)的各個位
1109: 【入門】加密四位數(shù)
Ⅱ.分支
1.雙分支
1303: 【入門】冷飲的價格(1)
1033: 【入門】判斷奇偶數(shù)
1302: 【入門】是否適合晨練?
1632: 【入門】需要幾輛車
XIV.遞歸進階
1.用遞歸改造循環(huán)
1696: 【入門】請輸出1~n之間所有的整數(shù)
1697: 【入門】請輸出n~1之間所有的整數(shù)
Ⅰ.基本運算
前兩個練習(xí)不想寫了,實在是太簡單了沒話說(主要是沒時間寫,以后有空再補上)
3.拆位練習(xí)
1605: 【入門】求一個兩位數(shù)的個位和十位的和
#include <bits/stdc++.h> using namespace std; int main(){int n,g=0,s=0;cin>>n;g=n%10;s=n/10;cout<<g+s;return 0; }1606: 【入門】求一個兩位數(shù)倒序的結(jié)果
#include <bits/stdc++.h> using namespace std; int main(){int n,g=0,s=0;cin>>n;g=n%10;s=n/10;if(g==0){cout<<s;}else{cout<<g<<s;}return 0; }1027: 【入門】求任意三位數(shù)各個數(shù)位上數(shù)字的和
#include<bits/stdc++.h> using namespace std; int main(){int x,g,s,b=0;cin>>x; g=x%10;s=x/10%10;b=x/100;cout<<g+s+b;return 0; }1028: 【入門】輸入一個三位數(shù),把個位和百位對調(diào)后輸出
本人題解(較繁瑣,可參考下方較優(yōu)題解):
#include<bits/stdc++.h> using namespace std; int main(){int x,g,s,b=0;cin>>x; g=x%10;s=x/10%10;b=x/100;if(g==0&&s==0){cout<<b;}else if(g==0){cout<<s<<b;}else{cout<<g<<s<<b;}return 0; }較優(yōu)題解(轉(zhuǎn)載于東方博宜程序題解_sphile-CSDN博客):
#include <iostream> using namespace std;int main(){int n;cin>>n;cout<<n%10*100+n/100+n%100/10*10;return 0; }
1390: 【入門】四位數(shù)的和
#include<bits/stdc++.h>
using namespace std;
int main(){int x,t,sum=0;cin>>x;t=x;while(t>0){sum+=t%10;t/=10;}cout<<sum;return 0;
}
1607: 【入門】兩位數(shù)運算
#include<bits/stdc++.h> using namespace std; int main(){int n;double sum=0,g=0,s=0;cin>>n;g=n%10;s=n/10;sum=s/g;printf("%0.1f",sum);return 0; }1020: 【入門】算算和是多少
#include<bits/stdc++.h> using namespace std; int main(){int n,g,s,b,temp=0,sum=0;cin>>n;g=n%10;s=n%100/10;b=n/100;temp=(g*100)+(s*10)+b;sum=n;cout<<temp+sum;return 0; }1029: 【入門】倒序輸出一個四位整數(shù)
#include<bits/stdc++.h> using namespace std; int main(){int n,g,s,b,q,sum=0;cin>>n;g=n%10;s=n%100/10;b=n%1000/100;q=n/1000;sum=g*1000+s*100+b*10+q;cout<<sum;return 0; }1418: 【入門】求一個5位數(shù)的各個位之和
#include<bits/stdc++.h> using namespace std; int main(){int n,g,s,b,q,w,sum=0;cin>>n;g=n%10;s=n%100/10;b=n%1000/100;q=n%10000/1000;w=n/10000;sum=g+s+b+q+w;cout<<sum;return 0; }1608: 【入門】三位數(shù)運算
#include<bits/stdc++.h> using namespace std; int main(){int n;double g,s,b,sum=0;cin>>n;g=n%10;s=n%100/10;b=n/100;sum=(b+s)/(s+g);printf("%.2f",sum);return 0; }1610: 【入門】買水果
#include<bits/stdc++.h> using namespace std; int main(){double a,b,c,sum=0;cin>>a>>b>>c;sum=8.5*a+5.6*b+6.2*c;printf("%.1f",sum);return 0; }1609: 【入門】四位數(shù)的計算
#include<bits/stdc++.h> using namespace std; int main(){int n;cin>>n;double g,s,b,q,x,y;g=n%10;s=n%100/10;b=n%1000/100;q=n/1000;x=q*10+b;y=s*10+g;cout<<x+y<<endl;printf("%.1f",x/y);return 0; }1611: 【入門】求六位整數(shù)的各個位
#include<bits/stdc++.h> using namespace std; int main(){int n,g,s,b,q,w,sw;cin>>n;g=n%10;s=n%100/10;b=n%1000/100;q=n%10000/1000;w=n%100000/10000;sw=n/100000; cout<<sw<<endl<<w<<endl<<q<<endl<<b<<endl<<s<<endl<<g;return 0; }1109: 【入門】加密四位數(shù)
#include<bits/stdc++.h> using namespace std; int main(){int n,g,s,b,q;cin>>n;g=n%10+5;s=n%100/10+5;b=n%1000/100+5;q=n/1000+5;g%=10;s%=10;b%=10;q%=10;cout<<g<<s<<b<<q;return 0; }Ⅱ.分支
1.雙分支
1303: 【入門】冷飲的價格(1)
#include<bits/stdc++.h> using namespace std; int main(){int n;double sum;cin>>n;if(n>=10){sum=2*n;} else{sum=2.2*n;}printf("%.1f",sum);return 0; }1033: 【入門】判斷奇偶數(shù)
#include<bits/stdc++.h> using namespace std; int main(){int n;cin>>n;if(n%2==0){cout<<"y e s";return 0;}else{cout<<"n o";return 0;}return 0; }1302: 【入門】是否適合晨練?
#include<bits/stdc++.h> using namespace std; int main(){int t;cin>>t;if(t>=20&&t<=30){cout<<"OK";} else{cout<<"NO";}return 0; }1632: 【入門】需要幾輛車
#include<bits/stdc++.h> using namespace std; int main(){int n,sum;cin>>n;sum=n/30;if(n%10==0){if(sum==0){cout<<sum+1;}else{cout<<sum;} }else{cout<<sum+1;}return 0; } 中間的暫時不寫,先寫遞歸XIV.遞歸進階
1.用遞歸改造循環(huán)
前幾題不知道為啥,明明一個循環(huán)就可以做,還放到遞歸里。
1696: 【入門】請輸出1~n之間所有的整數(shù)
遞歸做法:
#include<bits/stdc++.h> using namespace std; int n; void count(int i){if(i==1){cout<<i<<endl;}else{count(i-1);cout<<i<<endl;} } int main(){cin>>n;count(n);return 0; }for循環(huán)做法:
#include<bits/stdc++.h> using namespace std; int main(){int n,sum;cin>>n;for(int i=1;i<=n;i++){cout<<i<<endl;}return 0; }1697: 【入門】請輸出n~1之間所有的整數(shù)
遞歸做法:
#include<bits/stdc++.h> using namespace std; int n; void count(int i){if(i==n){cout<<i<<endl;}else{count(i+1);cout<<i<<endl;} } int main(){cin>>n;count(1);return 0; }while循環(huán)做法(官方題解):
總結(jié)
- 上一篇: html5网页播放声音
- 下一篇: centos 一键卸载Openstack