给新生的一点入门建议

来源:互联网 发布:阿里云邮箱手机验证 编辑:程序博客网 时间:2024/05/19 00:49

前言:

快退役了, 给这届新生再“卖弄”下, 也算是”废物利用”。有兴趣的萌新听完宣讲就行动起来吧, 早为新生赛做准备。
authur : adrui
address:http://blog.csdn.net/ADjky/article/details/78115944


正文:

Question:
算法竞赛编程能力是基础, 但是对于新手来说熟悉语法需要一定的时间, 而且不确定自己什么时候能开始做题目练习。
how to do?

老狗建议:
边写题目边学语法, 为了解决问题而学习, 效率高而且能够明确问题和问题所需。

举个栗子: HDU 2006
这里写图片描述

Step 1:明确问题
要求: 输出n个数中奇数的乘积

Step2:明确输入输出要求:
输入:输入包含多组数据, 每组先输入一个n(整数数目), 紧跟着n个整数
输出:在一行中输出n个数中奇数的乘积

Step 3: 分析
1. 程序要满足多组输入(输入数据、输出一组数的奇数个数后还能继续输入输出)
2. 程序要能找出n个数中的奇数
3. 输入结果并且每组数据输出结果各占一行(加换行)

Step 4: 写代码:
1. 怎么多组读入?
solution: 百度 or 群里提问
上个干货: http://blog.csdn.net/adjky/article/details/52891611
2. scanf(“%d”, &n)读n之后怎么连续读n个数?
solution: for/while/do while(C/C++)循环(百度 or 群里提问)
3. 判奇数: 奇数对2取模为1, 怎么取模并且判断相等?
solution: %、== (百度 or 群里提问)
4. 输出换行:
printf(“%d\n”, ans);//ans存结果

Step 5: 提交
参见群里的ppt(ACM入门)
如果结果不是Accepted慢慢查找问题修改程序继续提交, 实在不会提问
如果是Accepted, 恭喜你, 开始下一题.
ps:C/C++注意提交代码要是

#include<stdio.h>//solution codeint main(){    //solution code    return 0;}

结语:

整个过程, 读题分析问题务必独立完成而且要保证准确, 不会就提问。
先把HDOJ 11页刷完, 有余力做些其它题目, 新生赛范围之后会给出。
期待你们在新生赛的表现!

原创粉丝点击