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个比较小的单位,其 ...
随机推荐
- linux操作系统-设置静态ip
在使用linux虚拟机的时候因为经常有关机的需求,然后重新开机后可能面临这上一次获取的ip被改变,在这里我分享一下在linux 下设置静态ip的经验 1.查看路由状态 [root@localhost ...
- 15.Mysql中的安全问题
15.SQL中的安全问题15.1 SQL注入简介SQL是用来和数据库交互的文本语言.SQL注入(SQL Injection)是利用数据库的外部接口将用户数据插入到实际的SQL中,以达到入侵数据库乃至操 ...
- CSS学习总结1:CSS样式
1.CSS背景 属性 background-color:为元素设置背景色,值可以是任何合法的颜色值.实例:p {background-color: gray;} background-image:为元 ...
- (转)Android开发之封装标题栏
文章转自 CoderAbsolom 的 http://blog.csdn.net/qq_14923661/article/details/52003447 写在前面: 标题栏这个部分,绝大多数App ...
- C++11并发编程实战 免费书籍
C++11 博客http://www.cnblogs.com/haippy/p/3284540.html 网上推荐的C++多线程基本都是C++ Concurrency in Action 英文版的,中 ...
- PAT 1056 组合数的和(15)(代码)
1056 组合数的和(15 分) 给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字.要求所有可能组合出来的 2 位数字的和.例如给定 2.5.8,则可以组合出: ...
- HTML&&css练习
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- c sharp multithreading
1. 静态方法 using System; using System.Threading; namespace PlusThread { class Program { static void Ma ...
- Python之路番外(第二篇):PYTHON基本数据类型和小知识点
一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and \ (car == "moving") ...
- centos6.5 yum安装postgresql9.3
rpm -ivh http://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-2.n ...