试卷批分pascal程序
生活随笔
收集整理的這篇文章主要介紹了
试卷批分pascal程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
某學校進行了一次英語考試,共有10道是非題,每題為10分,解答用1表示“是”,用0表示“非”的方式。但老師批完卷后,發現漏批了一張試卷,而且標準答案也丟失了,手頭只剩下了3張標有分數的試卷。
試卷一:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
0 0 1 0 1 0 0 1 0 0 得分:70
試卷二:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
0 1 1 1 0 1 0 1 1 1 得分:50
試鄭三:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
0 1 1 1 0 0 0 1 0 1 得分:30
待批試卷:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
0 0 1 1 1 0 0 1 1 1 得分:?
問題求解:
請編一程序依據這三張試卷,算出漏批的那張試卷的分數。
這題我是用搜索的方法來做的
我先把試卷的答案記錄下來,再一個一個填,填完了就check,如果check成立,那么就輸出分數
const a:array[1..5,1..10]of longint=((0,0,1,0,1,0,0,1,0,0), (0,1,1,1,0,1,0,1,1,1), (0,1,1,1,0,0,0,1,0,1), (0,0,1,1,1,0,0,1,1,1), (0,0,0,0,0,0,0,0,0,0)); var b:array[1..5]of longint; procedure check; var i,j:longint; beginfillchar(b,sizeof(b),#0);for i:=1 to 4 dofor j:=1 to 10 doif a[i,j]=a[5,j] then inc(b[i]);if (b[1]=7)and(b[2]=5)and(b[3]=3) thenbeginwrite(b[4]*10);halt;end;exit; end; procedure search(dep:longint); var i:longint; beginif dep>10 thenbegincheck;exit;end;for i:=0 to 1 dobegina[5,dep]:=i;search(dep+1);end; end; beginfillchar(b,sizeof(b),0);search(1); end.
轉載于:https://www.cnblogs.com/YYC-0304/p/9500242.html
總結
以上是生活随笔為你收集整理的试卷批分pascal程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符序列pascal程序
- 下一篇: 迷宫问题pascal程序