NTUE-CS102 板


LINE

※ [本文转录自 NTUE-CS101 看板] 作者: yantchen (球童Yanting) 看板: NTUE-CS101 标题: [课业] C++期末 时间: Fri Jan 9 23:18:14 2009 期末考可以带任何纸本资料 课本一定要带 谁知道会不会发生太紧张把cout拼成cow 依照过去的题目还有王老大泄漏给我的讯息 题目应该是 写一个计算成绩的程式 输入几个人的成绩(多个科目) 计算总分或平均之类的 然後排序 每年视他教到哪增减要求 像是要用函数啦 要用指标啦 要可以输入姓名啦 blablabla 今年他有泄题说一定要用一个函数写一个选择用什麽分数排序的画面 等等下面解说 考试时间有 3 个小时 拿到考卷先别紧张 看一下题目的要求 通常他不会像online jugde系统那样严格(对100分错0分) 他的评分标准会写在题目卷上 例: 要求阵列怎样宣告 有做到20% 要求怎样用函数 有做到20% 可编译成功 20% 之类的 所以说 尽量写 写不出来也至少交个屍体 分数不要挂零 程式分几个部份 输入 & 计算总分 先输入有几个人 然後宣告阵列 如果你不会宣告动态的阵列大小(就是几个人就开几个阵列空间) 那就给他来个int math[99]之类的 反正这次都是键盘输入 我想王老大应该没那闲工夫故意输入200人的资料让你的程式爆炸 还有个要点 : 先要求程式能正常执行 再要求语法、记忆体占用空间 等等 简单写一下程式码 // only in dev c++ int n; cout<<"请输入学生数量:"; cin>>n; int id[n]; float chinese[n],english[n],math[n],sum[n]; cout<<"请依 学号 国文 英文 数学 的顺序输入 例: 1 99 87 85\n"; for(int i=0;i<n;i++) { cout<<"请依序输入第 "<<i+1<<" 个同学的 座号 国文 英文 数学 成绩:"; cin>>id[i]>>chinese[i]>>english[i]>>math[i]; sum[i]=chinese[i]+english[i]+math[i]; } *PS 青绿色部分 Visual C++ 不支援这个语法 他要用 new ( 指标那边才会教 ) 请改用 int id[1000];float chinese[1000],english[1000],math[1000],sum[1000]; 功能选择画面 这里要解说老师要求的那个函数 先想像不用函数的时候怎麽写 int sortby; cout<<"请输入依照什麽分数排序\n[1]总分\n[2]国文\n[3]...\n[4]..:"; cin>>sortby; switch(sortby) { case 1: // 依照总分 break; case 2: // 依照某科成绩 break; case 3: // 依照另一科 ... } 上面是我星期三看到大多人的写法 好 再来怎麽拉成函数呢? 其实只要动两行就好 把 cin>>sortby; 改成 sortby=choose(); 然後写一个函数叫把cout跟cin两行放进去 int choose() { int a; cout<<"请输入依照什麽分数排序\n[1]总分\n[2]国文\n[3]...\n[4]..:"; cin>>a; return a; } choose里面做的事情很简单 显示提示语 输入一个数字存到a 然後把a return 给等号左边的变数 这样就搞定罗 排序 想想气泡排序法之前怎麽排序五个数字的 int a[5]={1,3,5,2,4}; int t; for(int i=0;i<5;i++) { for(int j=i;j<4;j++) { if(a[j+1]>a[j]) { t=a[j]; a[j]=a[j+1]; a[j+1]=a[j]; } } } 注意那个4是怎麽回事 因为判断式子是写 a[j+1]>a[j] j<4 所以 j=0~3 这个式子顶多是 a[4]>a[3] 如果写 j<5 就会变成 a[5]>a[4] 但 a[5] 并没有用到 所以会把其他程式留在记忆体上的垃圾数据拿来排序 得到意想不到的结果(?) 再来另外一个重点是 现在每个人有5笔资料(学号、三个成绩、总分) 所以比较完之後 要交换一次就要把五个资料一起交换 程式码: int t2; float t; switch(sortby) { case 1: // 总分排序 for(int i=0;i<n;i++) { for(int j=i;j<n-1;j++) { if(sum[j+1]>sum[j]) { t2=id[j]; id[j]=id[j+1]; id[j+1]=t2; t=chinese[j]; chinese[j]=chinese[j+1]; chinese[j+1]=t; t=english[j]; english[j]=english[j+1]; english[j+1]=t; t=math[j]; math[j]=math[j+1]; math[j+1]=t; t=sum[j]; sum[j]=sum[j+1]; sum[j+1]=t; } } } break; case 2: // 依照国文排序 for(int i=0;i<n;i++) { for(int j=i;j<n-1;j++) { if(chinese[j+1]>chinese[j]) ... 其他排序的选项只要复制case1里面全部的东西然後改青色部份就好 } 排序结束以後 依照大到小cout出来 这个不用我说了吧 呼 打完了 有什麽问题就MSN或推文问我吧 大家加油 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.188.87
1F:推 rockmyangel:谢谢学长!!!!!!!!!!!!!!!!!!!!!!!!!!!!!我会尽力看它! 01/09 23:20
2F:推 silufy:cow好好笑.....XD 谢谢学长!!!!!:) 01/09 23:32
3F:推 jim19900412:学长准备被王老大解雇了 01/09 23:34
4F:推 cindy1006:感谢学长!!!:] 01/09 23:36
5F:推 Gary2005123:学长你人太好拉,不推的还是人吗? 01/09 23:39
6F:推 rockmyangel:为什麽说学长要被王老大解雇? 01/09 23:45
7F:推 gavingo15:学长人真好 01/10 00:00
8F:推 sscs:感谢学长啊!! 01/10 00:01
9F:推 jeff33:学长太感谢你啦!!!推推推 01/10 15:33
10F:推 peipei610:学长好棒唷 :) 谢谢!! 01/10 23:15
11F:推 aklewis1128:受益良多~3Q 01/11 00:44
12F:推 aeolus1215: 授液量多~3Q 学长谢谢!! 01/11 01:52
13F:推 StranGhost:学长辛苦了,谢谢! 01/11 02:35
14F:推 linjrming:aeolus1215: 授液量多~3Q 学长谢谢!! 01/11 14:16
15F:推 feather427:耶嘿 , 学长谢谢你!! :) 01/11 14:24
16F:推 casey75489:推受液量多!!!!!!!!!XDXDXD 01/11 15:31
17F:推 casey75489:再推一次受液量多~~~~~ XDXD 谢谢学长!! 01/11 15:48
18F:推 jerry771210:去年我们都没有这种待遇~哭哭 学长人真好 01/12 09:29
19F:推 gurocloudia:wow~虽然我看不懂...不过真的很感谢学长嘿! 01/12 17:42
--



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.36.183
20F:推 ip3311:谢谢学长! 01/08 18:40
21F:推 ming3318:COW真的好好笑XD" 谢谢学长罗~ 01/09 00:00
22F:推 didi12252001:传说这篇没推爆会全班当掉 01/09 02:11
23F:推 Arashinoon:那还不赶快推?! 01/09 02:49
24F:推 CaptainWill:等当上版主连推呀-ˇ- 01/09 02:54
25F:推 dosomethnig: 01/09 11:56
26F:推 dosomethnig:受益良多 01/09 13:21
27F:推 CaptainWill:推!! 01/09 15:45
28F:推 Arashinoon:每日一推,有推有保庇 01/09 15:48
29F:推 CaptainWill:肛温蛤~ 01/09 15:58
30F:推 suan710:有泄今年的题吗= =? 01/09 22:27
31F:推 rds1098:推!! 虽然指标那里还是不懂,还是推一个~ 01/10 10:48
32F:推 j2612280:敢问排序可以直接用sort函数吗? 01/10 11:15
33F:推 garfield112:推 01/10 15:28
34F:推 game0416:楼上上怎麽会需要用sort呢 (跑 01/10 15:29
35F:推 dosomethnig:Motorcycle? 01/10 15:33
36F:推 j2612280:排序呀= =.... 01/10 23:00
37F:推 gcobc12632:突然跑回来看一下…功能选单那个好靠北= =" switch…… 01/11 11:15
38F:→ gcobc12632:case是什麽都忘记了 是说可以选择不同的成绩做排序吗? 01/11 11:16
39F:推 gcobc12632:那是不是只要用cin跟if作判断就好了? 01/11 11:44
40F:推 harry731731:推! 01/11 12:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP