8.19

一,
1,48对应0
65对应A
87对应a
换行对应10
回车对应13
2,若用char存储一个数字(只能存储一个小的数字),那么输出的时候的格式为 cin>>(int)c(c为之前定义的)
3,变量的强制类型转换,因为题目可能需要取整数。
格式如下
(变量类型名称)变量名
或者
变量类型名称(变量名)
实际应用中比如你要取整数四舍五入一个 ans
但是你会发现它是这样写的 (int)(ans+0.5) 为什么要这样写呢?
完全是因为电脑在取整数的时候并不是判定四舍五入,而是直接舍去后面的小数,而你加个0.5,比如(10.5+0.5),相当于人为地模拟了四舍五入这个过程
4,又是一个简单的小学奥数题???
a,b互质这东西。
这东西还有两种方法,一个是裴蜀定义,
一个是画图
一个是找规律…
5,数字反转问题
第一种方法,借助cin的特性是一个一个读取字符
cin>>A>>b>>c>>dot>>d
cout<<d<<dot<<c<<b<<A
(但是题目不是有数据范围吗。。额,也许这就是为什么第二种方法可以用了)
但是我定义的时候用的是int!
人家说是字符输入的时候!很明显我。。。没有理解。
第二种方法,利用除法和模运算进行求解
门门道道还挺多的。。
比如怎么取第一位,第二位,第三位,第四位。。
方法都还不一样。
6,再分肥宅快乐水问题
对我而言,比较关键的问题是如何准确的输出精到到小数点后几位的方法,
恰好人家也讲了,没错就是用scanf的方法。(也许这就是scanf的优点吧,毕竟你用cin的话不好输入这些浮点数的东西)
我就写下关键的东西。
printf("%3lf\n%d",t/(1.0n),2n)
另外一个问题就是怎么除的时候成为浮点数,你看可以乘个1.0,也可以除个1.0.
7,交换变量
第一种就是cin>>a>>b
然后cout<<b<<a
第一种其实我也知道
就是类似于交换酱油醋,你得再找一个空瓶子。就这样。
8,小雨游泳问题
第一种,我的想法是直接先用小时减(因为当天并且是24小时制),必然能得到一个小时的整数,然后再用分钟减,如果分钟小于0的话,开始进行补差。大于0的话直接输出。
但是问题是你用来if-else结构。。这个时候还没有学呢
第二种,是人家想的,直接把小时都转换乘秒,然后进行计算。(核心是进制的转换把)
同时也可以看他们距离0时0分差多少秒进行计算。本质上是一样的。
恩, 我错 了
所以如何dubug一个题
我觉得是我输入这块有问题
cin的特性有问题,我cin。。
得用printf
关于degug
第一是放到DEVC++中计算
第二是输入格式有问题,也即是空格这些东西要注意。
9,超级玛丽
我的交不上去也就算了
但是为什么我抄了第一个人的题解
用c++会报错,但是用c却可以AC?
10,
强制类型转换一定要加0.5!!!
11,
然后这个noip2017这个题的话,
虽然有两种方法,因为电脑会有非常小的误差。。等,和强制类型转化优点关系
叫做避免实数误差
但是为了保险,要选保险的方法。
第一种是直接乘
第二种是先乘系数再除以10,因为是整十数,所以说还是挺简单的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值