读书人

求宗师解答

发布时间: 2013-11-29 00:21:24 作者: rapoo

求大师解答
之前学的c语言感觉还行,但是最近开始学数组,感觉开始编难了,对于老师给的作业感觉难,对与一个编程题,不知道如何去分析,如何去编写,例如下面这个题:
输入10个学生的学号和3 门学科的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分。
求大师帮助解答,对与这样的编程题应如何去分析、思考。如何在编写时不会出现思考混乱。谢谢。
你和刚才那个发贴是同班同学呢?还是你注册了两个帐号呢?
[解决办法]
1、从标准输入读取10个学生的学号和成绩,可以用scanf函数,每次读入一个学生的信息。学号和3门成绩用空格分开(如:0001 80 85 88),以字符串读入后,拆分出来。
2、拆分出来后,可以用学号作为key,3门分数相加值做value,保存到map
3、遍历map比较value,然后输出key和value。当然,比较的过程还要你细化一下,比如定义3个临时变量。
[解决办法]
抛开写程序
你会怎么处理这个过程呢?
代码是对你思考问题的表现,
多看看书,对于各种数据结构,数组,链表,类等,
都要有比较深的了解,
最好多思考一下电脑怎么做的,可能会比较难,
但是等你慢慢接触的计算机知识面广了就开阔了
就知道很多原理性的东西了
[解决办法]
这个就难了,后面的指针就更麻烦了。
数组的话还是很简单的,只是一个存一组相同类型数据的容器而已。
关键不是数组的难度,是你处理问题的方法。
抛开程序本身,你会怎么处理?10个学生3门课,我就会用3个数组然后每个容量为10来做。
比如 int a[10],b[10],c[10];分别表示语文、英语、数学。然后每个人对应的下标都是一样的a[0]、b[0]、c[0]就是一个人的3门成绩。后面的不用我说了吧,如何计算最高成绩的学号、总分什么的。
[解决办法]
仿制--〉制造--〉创新
[解决办法]
要理解判断循环分支是什么,了解他们的特性用途,这点东西不算事,思考太少,还不理解他们的特性,仔细看看书,多看几遍,多思考,多实验,不是盲目的抄代码,是实验。
[解决办法]
数组已经算简单了。程序不就是为了处理你想的东西吗?你怎么处理这个过程,你就把这个过程变成代码。
[解决办法]
慢慢来会好起来的

读书人网 >C语言

热点推荐