① 全国信息学奥林匹克竞赛 主要考的是什么 我想学C语言 从什么方面学起好 算法和数据结构 怎么学起
(你是初中还是高中还是什么级别的?)你要参赛的话难道你们学校没有教练和辅导老师帮助你么?这样会非常困难。
初赛主要是电脑的理论和基础知识,然后包涵部分编程的笔试,例如阅读程序之类的。
复赛开始才是真正的上机实战。
学C就从C的基础开始学,就学C的基本语言就行了。我很久不做这个了,所以不知道现在语言的入门书是什么样。入门级的书现在这个市场乱七八糟的,网上差一些经典教程就行了。一般就200页左右。那种很厚的书华而不实,有的根本连起点都是不合适的。
学会了C的基本才能血算法和数据结构。一般先学数据结构,C只提供了基本的数据,例如整数、实数,要想表达更复杂的数据,就要学数据结构。有了更先进的数据结构,就可以做一些比四则运算更复杂的运算,这就是算法(我没有说算法的标准定义,但是相信这样说你容易理解一点)。所以一般数据结构和算法是连在一起的,不过前面几课都是数据结构。这一部分开始需要有点数学能力才行,因为算法往往涉及的是很多复杂的数学运算方式。
参加竞赛必须要学完C的基础,省内选拔的时候至少有一题不需要用到数据结构和算法的知识,完全是C的知识。但是另外还有几题是会涉及到的。
然后越往就越难,就会要求越多的数据结构和算法的知识。有时候就算学了教材的上面讲的,但是自己不能理解和举一反三依然没办法做出来,这就是我说的需要一定的数学理解能力,能把没见过的问题通过数学转化成你见过的问题然后利用会写的程序来解决。。。
具体难度我们当年的标准可能和现在很不一样了,所以我说最好你能有个教练,你的教练会告诉你比如数据结构和算法要深入的什么地步。一般来说,我们那时候(快7,8年前了)数据结构要知道树和图,算法会考一题和排序相关的,然后树和图相关算法有一题,然后有一题动态规划或者贪心算法(也可以叫做优化或者搜索类题目)。
② 急!!!看过来:要求用C语言编程实现一个足球比赛问题!
算法可以这样来想:
1.申请一个数组Team[8];
2.A队有7场比赛(额..是循环赛吗?),输入每场的比赛结果(可以假设胜为1,负为-1).
3.读入数据,用一个选择或是if语句来判断,是1则Team[0]+=3,是0则不做操作.
4.依3之例,依次读入余下6场比赛的结果并处理.
5.依(2,3,4)之例,处理余下7只队伍的比赛结果.
6.为数组Team排序,输出结果.