作者game0416 (凤狼)
看板NTUE-CS102
标题Re: [闲聊] 程设作业
时间Fri Jan 15 16:15:28 2010
好像改个标题比较好(抓头)
期末考四题,手边都有题目就不再述了
原则上没有难题,要花点心思的题目应该也还好
只是意外考个字典排序有点吓到人
跟之前重复的部份不会谈太多
所以大概只会讲几个点跟写法而已
有问题再问看看吧(远目)
--
是说下学期好像没得罩(远目)
--
第一题一元二次方程式求根
首先,判别式b^2-4ac、公式解(-b±D )/2a 都要记得想起来
这东西决定有没有实根、根要怎麽解
再来,因为要开根号...sqrt()这个函式要知道
: 课本6-30页数学运算,引入<cmath>
然後..因为判断式有三种分别,所以一样if.else要用来区分
最後,if判断式里面的东西"只有判别式",否则遇到负数的话
开根号结果是不会正常判断的
剩下大概就是些运算子先後的问题,括号用的稳就好
没信心用稳,就把每一步计算分成多个变数存放,一步一步来应该不会放枪
函式参数部分随便设...不用特意用指标或什麽来写这样
--
第二题要求字典排序...
会用
#include<string>
strcmp()
就会很好写...不然像翔风自写一组同样的东西倒也无所谓
: 课本7-19
至於说到如何应用这东西解题...
嗯...这是份ASCii表
http://asciitable.com
字母越後面,数值就越大(z>a)
又因为名字的资料不会有大小写、空白问题
因此,strcmp直接取大小排序,取小的在前面就可以了
变数宣告照彦廷那样一开始宣1000也好,变数宣告也好,反正不是只有用VC审题
--
第三题的话...不要看到式子昏掉
关系大概长这样...
array[2]= array[0]*array[1] + array[1]*array[0]
array[3]= array[0]*array[2] + array[1]*array[1] + array[2]*array[0]
array[4]= array[0]*array[3] + array[1]*array[2] + array[2]*array[1]
array[3]*array[0]
作业内容就只是宣告
int array[12]={1,1}
然後用一个两层的巢状回圈
外层表示上面等号左边到第n个,内层照题目附的式子照样打上去、
回圈范围从0~n-2就可以了
--
最後一题问题应该只在同分输出...有其他问题请参阅上两篇
其实就是要纪录上次输出的排名,然後比较这次要输出的人分数跟上一名比是不是相同
是的话就输出上次输出的排名,反之就从回圈推测数值
参考
#1BGASGBQ做个修改范例应该就很明显
int rank;
for (
int i=
9;i>=
0;i--)
if (i==
9){
rank=10-i;
cout <<rank <<' ' <<a[i] <<' ' <<grade[i];
}
else if (grade[i]==grade[i-1]){
cout <<rank <<' ' <<a[i] <<' ' <<grade[i];
else {
rank=10-i;
cout <<rank <<' ' <<a[i] <<' ' <<grade[i];
}
--
红白本命
○楽园の巫女
博丽 霊梦 职业:博丽神社の巫女さん
Hakurei Reimu 能力:主に空を飞ぶ程度の能力
@东方project系列
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.36.173
※ 编辑: game0416 来自: 120.127.36.173 (01/15 16:17)
※ 编辑: game0416 来自: 120.127.36.173 (01/15 16:17)
1F:推 godhand0629:求值公式整个忘了,推一个 01/15 16:45
2F:推 Arashinoon:推凤狼大 应该改成期末考XDD 我有几个小BUG 遗憾... 01/15 23:38
3F:推 dosomethnig:凤狼大每次都好用心分享!!!! 01/17 15:45
4F:推 rds1098:(加减)要怎用? 01/17 17:18
5F:→ game0416:(-b+D)/2a (-b-D)/2a 分开做 01/17 17:20
6F:推 rds1098:感谢~XD 01/17 17:21
※ game0416:转录至看板 NTUE-CS103 01/11 16:49