没那么简单

它看起来很简单,功能在于传入的指针。
看起来简单,但传给它的东西,它就会完成。
他看起来很傻。
他会去把应该做的事情做好。

阅读更多

Uva刷题有感

虽然今儿天亮了就要去缓考毛概和英语,但是从昨晚上开始就在刷Uva但是一直没过,我就一直要等到过了再复习。前些天也是,这一个星期只刷了6道题,发现自己存在着很多的问题,大体总结如下:

  • 对c的输入输出不熟悉(但现在经过6个题后已经熟练使用gets,sscanf,sprintf,printf)
  • 不会使用样例输入和输出,并对比输入输出(现在已经熟练使用流的重定向功能和diff来对比文件)
  • 部分题意理解不明,死做硬做浪费时间(遇到此类情况应查看题解)
  • 正确的输出文件并非保证最后全无空行,大部分时候有一行空行才是正确答案,不要纠结于此
  • 根据输入数据量大小动态分配内存并非最佳的解决方案,根据输入输出范围提前分配好足够的空间往往是最方便解决方案
  • 针对C语言在线调试相对不便的问题,应在写代码时,在关键部位输出调试信息,并方便关闭(现在学会了使用不定个数的参数个数,构建一个与printf功能相同的dbg函数来输出调试信息)
  • 应注意输入值的范围,比如输入的区间边界值是否一定是前小后大,比如计算出的值是否需要根据允许的范围取余修正,特殊情况输入会不会造成程序死循环等。
  • 应注意在使用前一定要初始化变量,以及访问和读入变量的顺序问题,避免顺序错误导致的数据异常

先写到这里吧。。。该去复习一下毛概了。。。

缓考完后,我一定要好好刷题,提高效率!

挑战编程

这个星期开始用挑战编程这本书来提高自己的算法与编程能力,到今天一共只做了4道题。虽然一次次的wa着实让人不爽,但自己还是得到了不少的提高

最起码自己对这些了解了:

  • oj工作原理
  • 手动人肉oj

经过前些天折腾驱动和这几天写题,渐渐对c产生了从未有过的好感。在以往的印象中,c又麻烦又不好用,要什么没有什么。但经过这些天的使用,发现c其实是非常强大的,scanf格式化输入,配合占位符和正则表达式完爆c#的Console.ReadLine,printf格式化输出媲美Console.WriteLine,stdlib.h提供了atof等就像float.Prase,比较麻烦的只有手动分配内存和释放内存,不过其实也是相当的灵活。现在真的逐渐明白了c真的是一门简单而又强大的高级语言。没有了Intellisense,我学会了自己差错和规范格式,算是一个提高吧~

回宿舍后继续做题,现在继续上管理信息系统。。。

I deserve it

又是这样一个新学期。又是这样一个扯淡的结果。

怎么和去年是这么的相似。

清醒一下吧!!!

 

ACM之路:任重道远

今儿成都区域赛,各种被虐。

自己的水平还差很远,需要好好规划,拼尽全力才有可能有所建树。

未来之路必须靠自身的强大的能力来开启,现在这样是万万不行的。

加油吧!

 

翻滚吧!牛宝宝!

在Open-WRT上完成H3C 802.1x认证

学校里移动(铁通)新办了宽带,免费试用一个月,不用白不用哈~不过比较DT的是,登陆需要使用iNode客户端进行认证。但是这绝对难不倒咱们技术萌~

上网找了几个开源的802.1X认证的项目,最后选定了适用于Open-WRT的njit-xclient 作为修改蓝本。使用工具链编译成功后,使用scp传输到路由器上,使用opkg install进行安装,发现不用修改就可以直接使用~哈哈~

只是有一个问题,njit-client是跑在ssh的session里的,也就是说不能关闭掉ssh窗口,这样很不利于使用。如何让现有的程序跑在后台呢?经过搜索发现了一个不错的工具nohup

执行

这样njit-client就运行在后台,并且所有输出全部重定向到/dev/null这个无底洞下,不会浪费空间了~

再次不用连接网线就在宿舍上网,感觉好惬意~

大三的第二个周六

经过了各种DT之后终于又能写东西了。

上周学校开始更换移动宽带,也就是铁通,这个月试用不限速,于是我就办了一个。一来为了享受高速,二来是为了抓紧时间测试,为了以后正式用的时候不至于手忙脚乱。事实果然很DT,移动宽带试用H3C 802.1X认证,不让用路由器。但是我就是不喜欢让本上拖着一根长长的网线,于是就开始了路由器的更新。还好Open-WRT适应性良好,在网上看了几个开源的802.1X认证的源码,然后自己根据实际情况做了更改,编译安装到路由器上,花了2天完成了路由器对802.1X的支持。这样我的手机也可以接入我的路由器上网了~

本以为DT结束了,其实刚开始。下午想更新博客,却总也打不开,后来发现,是铁通把*.sinaapp.com的网站全部都用防火墙屏蔽掉了。擦,各种黑线。。。果断投诉,不过我这边先用代理上着吧。。。DT,让我用代理上google上wikipedia也就算了,居然SAE也要用代理。。。吐槽无力。。。

明天有ACM第二场比赛,终于能赶上了。期待新的开始。

Ubuntu在恢复模式下无法修改/下的文件

因为/etc/fstab配置错误需要无法启动,需要修改这个文件。而在进入Ubuntu启动菜单,选择恢复模式进入root后,使用vi 编辑 /etc/fstab告知是read-only无法保存,此时需要重新挂载 / ,输入:

然后使用vi编辑/etc/fstab即可保存

造成一开始无法保存的原因,详见这个链接
在系统启动时,一开始挂载是使用只读来挂载 / 的

不重装ubuntu指定/home文件夹的位置到某分区

给vmware里的ubuntu更新到12.04后,发现空间越来越不够了,于是乎就重新分配了一个虚拟硬盘给虚拟机。查看了下主要是在我的主文件夹下安装了好多toolchain占用了大量空间,于是产生了把/home搬到新硬盘的想法。但是我并不想重装系统,有什么办法呢?

办法如下,把/home数据搬到新硬盘,再设置fstab启动时挂在新硬盘到/home即可

接下来在gedit中修改/etc/fstab,加上下面一行

然后把就硬盘上的/home内容清理下,重启后完成