1.房价VS年薪
#include<iostream>
using namespace std;
int purchase(double x,double m)
{
int year=1;
double sum=x;
double temp;
while(sum<m) {
year++;
x*=1.08;
sum=sum+x;
m*=1.1;
}
return year;
};
int main()
{
double X=0;
double M=0;
cin>>X>>M;
if(purchase(X,M)<=100)
cout<<purchase(X,M)<<endl;
else
cout<<"Forget it."<<endl;
}
2.北京地铁
#include<iostream>
#include<iomanip>
using namespace std;
int price(int mile)
{
int Price=0;
if(mile<=6)
{Price=3;}
else if(mile>6&&mile<=12)
{Price=4;}
else if(mile>12&&mile<=32)
{Price=4+(mile-12+9)/10;}
else if(mile>32)
{Price=6+(mile-32+19)/20;}
return Price;
};
int main()
{
double sum,mile;
cin>>sum>>mile;
if(sum>=100&&sum<150)
cout<<setiosflags(ios::fixed)<<setprecision(2)<<price(mile)*0.8<<endl;
else if(sum>=150&&sum<400)
cout<<setiosflags(ios::fixed)<<setprecision(2)<<price(mile)*0.5<<endl;
else
cout<<setiosflags(ios::fixed)<<setprecision(2)<<price(mile)*1.0<<endl;
}
!!!if 和else if 括号里的条件只能以&&形式写,6<mile<=12是错的!
3.习题(4-2) 点和正方形的关系
#include<iostream>
using namespace std;
int main()
{
double x,y;
char ch;
cin>>x>>ch>>y;
if((x>-1&&x<1)&&(y>-1&&y<1))
cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
!!!!题目里x和y之间是逗号,不是空格
cin输入字符时无法接收空格 输入空格要用cin.get()函数看这里
4.习题(4-4) 能被3,5,7整除的数
#include<iostream>
using namespace std;
int main()
{
int x;
cin>>x;
if(x%3==0&&x%5==0&&x%7==0)
cout<<"3 5 7"<<endl;
else if(x%3==0&&x%5==0&&x%7!=0)
cout<<"3 5"<<endl;
else if(x%3==0&&x%5!=0&&x%7==0)
cout<<"3 7"<<endl;
else if(x%3!=0&&x%5==0&&x%7==0)
cout<<"5 7"<<endl;
else if(x%3==0&&x%5!=0&&x%7!=0)
cout<<"3"<<endl;
else if(x%3!=0&&x%5!=0&&x%7==0)
cout<<"7"<<endl;
else if(x%3!=0&&x%5==0&&x%7!=0)
cout<<"5"<<endl;
else if(x%3!=0&&x%5!=0&&x%7!=0)
cout<<"n"<<endl;
}
5.最受欢迎的医生
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int votes[16]={0};
int number=0;
while(n<=100&&n>0&&number<16)
{
cin>>number;
n--;
votes[number]++;
}
int max=1;
for(int i=2;i<16;i++)
{
if(votes[i]>votes[max])
max=i;
}
cout<<max<<endl;
}
主要是题意难理解。一共有8个人投票,其中第一个人投给了1号医生,第二个人投给了3号医生,第三个人投给了4号医生,以此类推。
6.菲波那契数列
#include<iostream>
using namespace std;
int f(int a)
{
int x;
if(a==1||a==2)
x=1;
else if(a>2&&a<21)
x=f(a-1)+f(a-2);
return x;
};
int main()
{
int n,a;
cin>>n;
while(n--)
{
cin>>a;
cout<<f(a)<<endl;
}
}