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课作业的更多相关文章

  1. noip第5课作业

    1.     计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...

  2. noip第34课作业

    1.    信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...

  3. noip第33课作业

    1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...

  4. noip第29课作业

    1.   钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...

  5. noip第28课作业

    分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...

  6. noip第27课作业

    1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...

  7. noip第26课作业

    1.    信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指 ...

  8. noip第25课作业

    1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n< ...

  9. noip第24课作业

    1.  马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...

  10. noip第23课作业

    1.   营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...

随机推荐

  1. XiaoKL学Python(D)argparse

    该文以Python 2为基础. 1. argparse简介 argparse使得编写用户友好的命令行接口更简单. argparse知道如何解析sys.argv. argparse 模块自动生成 “帮助 ...

  2. BZOJ 1227 [SDOI2009]虔诚的墓主人 - 扫描线

    Solution 离散化 扫描线, 并用 $rest[i]$ 和 $cnt[i]$ 记录 第$i$列 总共有 $cnt[i]$棵常青树, 还有$rest[i]$ 没有被扫描到. 那么 第$i$ 列的方 ...

  3. About the Cron Expression

    About the Cron Expression Cron is use in Linux for the time schedule Format Seconds Minutes Hours Da ...

  4. MySQL 快速复数据库的方法

    为了方便快速复制一个数据库,可以用以下命令将db1数据库的数据以及表结构复制到newdb数据库 创建新的数据库 #mysql -u root -p123456 mysql>CREATE DATA ...

  5. db2创建数据库

    1.在实例用户用户下执行 db2 create database <DBName>  on /home/db2inst1/<DBName>  using codeset UTF ...

  6. ubuntu系统ftp连接 以及ssh连接

    tfp连接 ssh连接 ubuntu下ssh使用 与 SCP 使用 1 ssh远程登录服务器 ssh username@remote_ip #将username换成自己的用户名,将remote_ip换 ...

  7. 安装crf++

    在这里就不提心酸的安装过程了,就把成功安装及部分问题整理出来,以供参考: 安装环境:ubuntu14 1.安装ruby包  sudo apt-get install ruby2.安装zlib包  su ...

  8. 【Linux】Tree命令安装和使用

    Tree命令简介 tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY.树已经被移植和报道以下操作系统下工作: ...

  9. mybatis学习三 数据库连接池技术

    1.在内存中开辟一块空间,存放多个数据库连接对象.就是Connection的多个实例2. 连接池技术有很多,c3p0,dbcp,druid,以及JDBC Tomcat Pool, JDBC Tomca ...

  10. 第15章 上下文管理器和else块

    #<流流畅的Python>第15章 上下文管理器和else块 #15.1 先做这个,再做那个:if语句之外的else块 #else子句不仅能在if语句中使用,还能在for.while和tr ...