C++ 计算概论A作业(第二周)

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;
}

!!!ifelse 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;
	}

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值