蕉太狼的博客

http://oj.noi.cn的题解思路

noi1023

给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。 解题思路: C的输入。遇到空格是算跳出的。 #include<stdio.h> int main() { int n,i,m,min,max; scanf("%d...

2019-08-14 15:46:05

阅读数 6

评论数 0

noi1022

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。 解题思路: 求平均数,记得强制转换。 PS:我的强制转换可能不完全符合要求,但是这样写万无一失,哈哈 #include<stdio.h> int main() { int i...

2019-08-14 15:32:19

阅读数 6

评论数 0

noi1021

企业发放的奖金根据利润分段计算提成。当利润I低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万的,低于20万的部分仍按上述办法提成(下同)。高于20万元的部分按5%提成;40万到60万时,高于40...

2019-08-14 15:24:33

阅读数 6

评论数 0

NOI1039

对于任意给定的n,计算2的n次方。 #include<stdio.h> #include<math.h> int main() { long x; scanf("%ld",&x); x=pow(2,x...

2019-08-14 15:19:41

阅读数 12

评论数 0

1020. 数字识别

输入一个不多于四位的正整数,求出它是几位数,并分别打印出各位上的数字 解题思路: 本体应该可以考虑通解,即多位数的每位数的输出,这里没有细细探究,以后有时间可以考虑一下 #include<stdio.h> #include<math.h> i...

2019-08-14 15:16:44

阅读数 6

评论数 0

1019.

解题思路: 分段函数,条件判断 #include<stdio.h> int main() { double n,x; scanf("%lf",&x); if(x>=0&&x&...

2019-08-14 15:02:45

阅读数 8

评论数 0

1018. 打电话

某市的IC卡电话计费标准如下:首次为0.5元/3分钟(不足3分钟按3分钟计费),之后是0.2元/1分钟,不足一分钟按一分钟来算,如一个人打了6分30秒,那计费是按照7分钟来算,花费为1.3元。已知某人打一次电话花费为x元,问这个人有可能打了多长时间的电话?(精确到分钟) 解题思路 输入输出的格式多...

2019-08-13 13:55:06

阅读数 5

评论数 0

1017. 价格查询

编程实现以下功能:查询水果的单价。有4种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤和10.20元/公斤。 运行程序后,首先在屏幕上显示以下菜单(编号和选项)(见样例)。 当用户输入编号1...

2019-08-13 13:24:10

阅读数 6

评论数 0

1016. 计算天数

输入年份与月份,求该月共有多少天。 解题思路: 闰年计算,常识得知道计算过程 #include<stdio.h> int main() { int year,month,r; scanf("%d %d",&year,&amp...

2019-08-13 13:12:57

阅读数 4

评论数 0

1015. 星期几

输入数字1~7的表示星期一至星期日,输出对应的星期几的英文名称。 如果是1,输出Monday; 如果是2,输出Tuesday; 如果是3,输出Wednesday; 如果是4,输出Thursday; 如果是5,输出Friday; 如果是6,输出Saturday; 如果是7,输出Sunday; 解题思...

2019-08-13 12:53:06

阅读数 4

评论数 0

1067 u'n

#include<stdio.h> #include<math.h> int main() { int x1,x2,y1,y2; int m,n,i1,i2,x,y,BJ_X,BJ_Y; int max=9999999; int s=...

2019-08-11 23:44:44

阅读数 5

评论数 0

NOI1066

两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。 解题思路: 需要注意的一个是数组要开大一点,因为素数队比素数的个数多一些,一开始数组初始化小了导致一直报错 第二个就是输出empty的时候,我这里取巧直接判断是否小于5,当然也可以严谨的用函数...

2019-08-11 22:30:25

阅读数 7

评论数 0

1065最小公倍数

输入正整数n,m,编写程序计算n和m的最小公倍数。 解题思路: 使用辗转相除法,求得最大公约数,再将乘积除以它即得结果 注意可能出现的越界情况,a,b本身是int,但是乘积就不一定是了。这时候用到long型,但是在算的时候我也犯了小错,这里int*int需要强制转换成long型才适用于得到结果。 ...

2019-08-11 22:01:17

阅读数 3

评论数 0

1064. 计算斐波那契第n项

输入n,编写程序输出斐波那契数列的第n项。其中斐波那契数列f(n)的定义如下: f(1)=0,f(2)=1 f(n)=f(n-1)+f(n-2)(n>=2) 解题思路: 递归思想,最基础的递归题,注意可能的越界情况。 #include<stdio.h> i...

2019-08-11 21:16:33

阅读数 6

评论数 0

1063

给出两个非负整数n和m,编写程序计算组合数C(n,m)的值。 解题思路: 注意用 int可能出现的越界情况。输出也可能会越界,但是也过了就不改了。 #include<stdio.h> int main() { int a,b,i,sum; long long sum...

2019-08-11 20:41:27

阅读数 6

评论数 0

1062

给出平面上两个点的坐标(x1,y1),(x2,y2),求两点之间的曼哈顿距离。曼哈顿距离=|x1-x2|+|y1-y2|。 给出平面上两个点的坐标(x1,y1),(x2,y2),求两点之间的曼哈顿距离。曼哈顿距离=|x1-x2|+|y1-y2|。 解题思路: 能用double 就用double吧,...

2019-08-11 14:50:07

阅读数 6

评论数 0

1061

使用Wifi上网时,通常需要输入正确的密码之后,才能登录。假设输入密码没有次数限制(密码通常为八个字符,假设预置密码为NOIP@CCF)。 请你编写一个程序,模拟使用Wifi上网的登录过程:用户尝试输入密码,直到自己要求结束或者密码正确 解题思路: 有借鉴网上代码,卡在标准输入,输出格式半天,多年...

2019-08-09 19:38:36

阅读数 62

评论数 0

1014

输入某学生成绩score,根据成绩好坏输出相应评语。如果成绩在大于等于90,输出“Excellent”;如果成绩在大于等于80分且小于90分,输出“Good”;如果成绩大于等于60分且小于80分,输出“Pass”;成绩小于60分,输出“Fail”。 解题思路: 判断语句 #include&...

2019-08-09 17:38:39

阅读数 44

评论数 0

1013

输入三个正整数,判断能否构成三角形的三边,如果不能,输出“NO”。如果能构成三角形,判断构成什么三角形?按等边、直角、一般三角形分类,依次输出对应的三角形类型“Equilateral”、“Right”、“General”。 解题思路: 先把最大边找到,然后判断是否三角形,然后判断是否是特殊三角形 ...

2019-08-09 16:48:48

阅读数 11

评论数 0

1012

一密码变换规则如下:一个正整数对应一个字符;如果该数模123的值在97-122范围,变换为ASCII为该余数对应的小写字符;如果变换不了小写字符,将该数模91,若余数在65-90范围,变换为ASCII为该余数对应的大写字符;如果变换不了大小写字符,变换为“*”。输入一个正整数,输出变换后的字符。 ...

2019-08-09 15:46:03

阅读数 11

评论数 0

提示
确定要删除当前文章?
取消 删除