1001 害死人不偿命的(3n+1)猜想
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//根据题意可知,循环判断是奇数还是偶数
int main()
{
int n,sum=0;
cin>>n;
while(n!=1)
{
if(n%2==0) {
n=n/2;
sum++;//记录操作次数
}
else{
n=(3*n+1)/2;
sum++;
}
}
cout<<sum<<endl;
return 0;
}
1002 写出这个数
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;//数据很大,无法用int类型存下
cin>>s;
int sum=0;
for(int i=0;i<s.size();i++){
sum=sum+(s[i]-'0');//根据题意求出来和
}
vector<string>v;
while(sum)
{
int x=sum%10;//求末尾的数值对应的输出
if(x==0) v.push_back("ling");//用vector装下,可以直接反转
else if(x==1) v.push_back("yi");
else if(x==2) v.push_back("er");
else if(x==3) v.push_back("san");
else if(x==4) v.push_back("si");
else if(x==5) v.push_back("wu");
else if(x==6) v.push_back("liu");
else if(x==7) v.push_back("qi");
else if(x==8) v.push_back("ba");
else if(x==9) v.push_back("jiu");
sum=sum/10;
}
reverse(v.begin(),v.end());//反转过来顺序输出
for(int i=0;i<v.size();i++)
{
if(i!=0) cout<<" ";
cout<<v[i];
}
return 0;
}
1004 成绩排名
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+5;
struct ac{
string name,id;
int score;
}a[N];//用结构体同时将姓名,学号,成绩装起来
bool cmp(ac x,ac y){
return x.score<y.score;
}//结构体判断,按成绩从小到大排序
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i].name>>a[i].id>>a[i].score;
}
sort(a,a+n,cmp);
cout<<a[n-1].name<<" "<<a[n-1].id<<endl;
cout<<a[0].name<<" "<<a[0].id;
return 0;
}
1006 换个格式输出整数
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[3]={0},i=0;
while(n)
{
a[i]=n%10;//用数组将个十百三位分别存到数组里
n=n/10;
i++;
}
for(int j=0;j<a[2];j++)
cout<<"B";
for(int j=0;j<a[1];j++)
cout<<"S";
for(int j=1;j<=a[0];j++)
cout<<j;
return 0;
}
1011 A+B 和 C
这个题范围是[−2^31,2^31],long long int 可以存下
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
for(int i=1;i<=t;i++)
{
long long int a,b,c;
cin>>a>>b>>c;
if(a+b>c) {
cout<<"Case #"<<i<<": true"<<endl;
}
else {
cout<<"Case #"<<i<<": false"<<endl;
}
}
return 0;
}
1016 部分A+B
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,da,b,db;
int sum1=0,sum2=0;
cin>>a>>da>>b>>db;
while(a)
{
if(a%10==da)//判断是否是指定的数,如果是记录下来
sum1=sum1*10+da;//按照位数增加
a=a/10;
}
while(b){
if(b%10==db)
sum2=sum2*10+db;
b=b/10;
}
cout<<sum1+sum2;
return 0;
}