noip第4课作业
1. 计算邮资
【问题描述】
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内 (包含1000克),基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
输入:输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
输出:一行,包含一个整数,表示邮费。
【样例输入】
1200 y
【样例输出】
17
#include <iostream>
using namespace std;
int main(){
int m, money;
char n;
cin >> m >> n;
if(m<=){
money = ;
}else{
if(m%==){
money = + (m-)/*;
}else{
money = + (m-)/*+;
}
}
if(n=='y'){
money += ;
}
cout << money <<endl;
return ;
}
2. 判断能否被3,5,7整除
【问题描述】
给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符‘n’,不包括单引号。
输入:输入一行,包括一个整数。
输出:输出一行,按照描述要求给出整数被3,5,7整除的情况。
【样例输入】
105
【样例输出】
3 5 7
#include <iostream>
using namespace std;
int main(){
int n, i=;
cin >> n;
if(n%==){
cout << << " ";
i++;
}
if(n%==){
cout << << " ";
i++;
}
if(n%==){
cout << << endl;
i++;
}
if(i==){
cout << "n" << endl;
}
return ;
}
1. 分段函数
【问题描述】
编写程序,计算下列分段函数y=f(x)的值。
y=-x+2.5; 0 <= x < 5
y=2-1.5(x-3)(x-3); 5 <= x < 10
y=x/2-1.5; 10 <= x < 20
输入:一个浮点数N,0 <= N < 20
输出:输出N对应的分段函数值:f(N)。结果保留到小数点后三位。
【样例输入】
1.0
【样例输出】
1.500
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
double x, y;
cin >> x;
if(x>=&&x<){
y = -x + 2.5;
}else if(x<){
y = -1.5*(x-)*(x-);
}else if(x<){
y = x/-1.5;
}
cout << fixed << setprecision() << y << endl;
return ;
}
2. 小玉家的电费
【问题描述】
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。
输入:一个整数,表示用电总计(单位以千瓦时计),不超过10000
输出:输出一个数,保留到小数点后1位(单位以元计,保留到小数点后1位)。
【样例输入】
267
【样例输出】
121.5
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int n;
double money;
cin >> n;
if(n<=){
money = n*0.4463;
}else if(n<=){
money = *0.4463+(n-)*0.4663;
}else{
money = *0.4463+*0.4663+(n-)*0.5663;
}
cout << fixed << setprecision() << money << endl;
return ;
}
3. 求一元二次方程的根
【问题描述】
利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0。
输入:一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数。
输出:输出一行,表示方程的解。
若b2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=...。
若b2 > 4 * a * c,则两个实根不等,则输出形式为:x1=...;x2 = ...,其中x1>x2。
若b2 < 4 * a * c,则有两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i,即x1的虚部系数大于等于x2的虚部系数,实部为0时不可省略。实部 = -b / (2*a), 虚部 = sqrt(4*a*c-b*b) / (2*a)
所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。
【样例输入】
1.0 2.0 8.0
【样例输出】
x1=-1.00000+2.64575i; x2=-1.00000-2.64575i
#include <cstdio>
#include <cmath>
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(){
double a,b,c,x1,x2;
cin >> a >> b >> c;
if(b*b==*a*c){
x1=x2=-b/(*a);
cout<<fixed<<setprecision()<<"x1=x2="<<x1<<endl;
}else if(b*b>*a*c){
x1 = (-b + sqrt(b*b-*a*c))/(*a);
x2 = (-b - sqrt(b*b-*a*c))/(*a);
cout<<fixed<<setprecision()<<"x1="<<x1<<";"<<"x2="<<x2<<endl;
}else{
if(-b/(*a)==){
x1=-b/(*a)+sqrt(*a*c-b*b)/(*a);
x2=-b/(*a)-sqrt(*a*c-b*b)/(*a);
cout<<fixed<<setprecision()<<"x1="<<b/(*a)<<"+"<<sqrt(*a*c-b*b)/(*a)<<"i"<<";";
cout<<fixed<<setprecision()<<"x2="<<b/(*a)<<"-"<<sqrt(*a*c-b*b)/(*a)<<"i"<<endl;
}else{
x1=-b/(*a)+sqrt(*a*c-b*b)/(*a);
x2=-b/(*a)-sqrt(*a*c-b*b)/(*a);
cout<<fixed<<setprecision()<<"x1="<<-b/(*a)<<"+"<<sqrt(*a*c-b*b)/(*a)<<"i"<<";";
cout<<fixed<<setprecision()<<"x2="<<-b/(*a)<<"-"<<sqrt(*a*c-b*b)/(*a)<<"i"<<endl;
}
}
return ;
}
noip第4课作业的更多相关文章
- noip第5课作业
1. 计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...
- noip第34课作业
1. 信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...
- noip第33课作业
1. 排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...
- noip第29课作业
1. 钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...
- noip第28课作业
分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...
- noip第27课作业
1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...
- noip第26课作业
1. 信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指 ...
- noip第25课作业
1. 求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...
- noip第24课作业
1. 马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...
- noip第23课作业
1. 营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...
随机推荐
- XiaoKL学Python(D)argparse
该文以Python 2为基础. 1. argparse简介 argparse使得编写用户友好的命令行接口更简单. argparse知道如何解析sys.argv. argparse 模块自动生成 “帮助 ...
- BZOJ 1227 [SDOI2009]虔诚的墓主人 - 扫描线
Solution 离散化 扫描线, 并用 $rest[i]$ 和 $cnt[i]$ 记录 第$i$列 总共有 $cnt[i]$棵常青树, 还有$rest[i]$ 没有被扫描到. 那么 第$i$ 列的方 ...
- About the Cron Expression
About the Cron Expression Cron is use in Linux for the time schedule Format Seconds Minutes Hours Da ...
- MySQL 快速复数据库的方法
为了方便快速复制一个数据库,可以用以下命令将db1数据库的数据以及表结构复制到newdb数据库 创建新的数据库 #mysql -u root -p123456 mysql>CREATE DATA ...
- db2创建数据库
1.在实例用户用户下执行 db2 create database <DBName> on /home/db2inst1/<DBName> using codeset UTF ...
- ubuntu系统ftp连接 以及ssh连接
tfp连接 ssh连接 ubuntu下ssh使用 与 SCP 使用 1 ssh远程登录服务器 ssh username@remote_ip #将username换成自己的用户名,将remote_ip换 ...
- 安装crf++
在这里就不提心酸的安装过程了,就把成功安装及部分问题整理出来,以供参考: 安装环境:ubuntu14 1.安装ruby包 sudo apt-get install ruby2.安装zlib包 su ...
- 【Linux】Tree命令安装和使用
Tree命令简介 tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY.树已经被移植和报道以下操作系统下工作: ...
- mybatis学习三 数据库连接池技术
1.在内存中开辟一块空间,存放多个数据库连接对象.就是Connection的多个实例2. 连接池技术有很多,c3p0,dbcp,druid,以及JDBC Tomcat Pool, JDBC Tomca ...
- 第15章 上下文管理器和else块
#<流流畅的Python>第15章 上下文管理器和else块 #15.1 先做这个,再做那个:if语句之外的else块 #else子句不仅能在if语句中使用,还能在for.while和tr ...