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个比较小的单位,其 ...
随机推荐
- python 面向对象编程 之 元类
元类是类的类,使我们自定义的类,即我们用class定义类本质就是元类,是类的模板 四步走: 一:控制class定义类的过程 1.先拿到类名 2.在拿到基类 3.执行类体代码,得到名称空间的dict 4 ...
- Jmeter常用脚本开发之Java请求
Java请求:就是用来对java项目的类进行压测 例子:将输入的两个参数通过IO存入文件 1.创建Java工程,工程目录如下 2.将Jmeter-lib下面的所有jar包导入java工程, 3.创建一 ...
- Linux系统安装过程
一.安装VMware® Workstation 14 Pro,有一些安装时会出现virtual XT的错误,这需要重启电脑进入BIOS,开户虚拟加速开关:有些win8/10会出现虚拟网卡安装失败的情况 ...
- 27.MySQL备份与恢复
27.备份与恢复27.1 备份/恢复策略考虑因素:备份表的存储引擎(事务性or非事务性):全备份or增量备份用复制做异地备份定期备份,考虑恢复时间确保mysql打开log-bin,有了BINLOG,M ...
- andorid EditView
<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android=" ...
- hdu 3415(单调队列) Max Sum of Max-K-sub-sequence
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3415 大意是给出一个有n个数字的环状序列,让你求一个和最大的连续子序列.这个连续子序列的长度小于等于k. ...
- hdu 1754(基础线段树) I Hate It
http://acm.hdu.edu.cn/showproblem.php?pid=1754 数据比较大,暴力会超时,所以明显是线段树,普通的线段树,结构体中多开一个值sum储存每个子区间的最大成绩, ...
- collectionView 防止cell复用的方法
collectionView 防止cell复用的方法 一: //在创建collectionView的时候注册cell(一个分区) UICollectionViewCell *cell=[collect ...
- 06. pt-duplicate-key-checker
| t01 | CREATE TABLE `t01` ( `pkid` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT ...
- Ubuntu12.04下Qt连接MySQL数据库
本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...