乙個多選題設計引發的「血案」

2022-02-16 05:48:23 字數 931 閱讀 1225

我們在做某某調查問卷,試卷等型別的開發的時候,總會避免不了多選題。然而很多時候,乙個多選題的設計,會引來不同的開發結果,這個因人而異。

以下是我對多選題的設計,提出的解決方法。

我們在高中時代,想必大家對集合的概念都很熟悉吧。下面就來介紹集合是如何解決多選題統分的。

有差集,不給分

無交集,不給分(排除上乙個後這個是考慮空白答卷的情況,如果確認不會有白卷這句可以不用)

無差集,有交集,交集數量!=答卷,半分

無差集,有交集,交集數量=答卷,滿分(這個可以不寫邏輯,直接用else也行,因為排除上面幾種情況剩下就是交集相等)

附上linq差集、交集、並集的計算

list lista = new list();

list

listb = new list();

list

listresult = new list();

listresult = lista.distinct().tolist();//

去重listresult = lista.except(listb).tolist();//

差集listresult= lista.union(listb).tolist(); //

並集listresult = lista.intersect(listb).tolist();//

交集

(2)位運算

可以用位運算來計算

a:1 b:2 c:4 d:8

如何選擇ab 則為3

如何選擇abcd 則為15

比如正確為4 則 看看選擇的結果為n跟4比

if(n==4) 3分

if 4&n==n 2分

其他 0分

位運算是不錯的選擇,很方便。可是位運算有個取值只能在2^64範圍之中,想必超過64個選項的話,就不符合有些專案的實際需求了。

乙個memset引發的血案

前幾天做了一道bst題,提交了幾次都是wa,今天抽空拿了出來仔細瞧瞧總算被我發現禍頭根源.總結原因還在於自己對memset不太了解,以前用對估計也是瞎貓撞見死耗子 memset的介紹 void memset void buffer,int ch,size t count buffer 指向某段記憶體...

乙個分號引發的「血案」

再多的表情也無法詮釋我現在的心情!a b for matrices 這是很水的一道題,然而卻整整折騰了我2個多小時。從晚上6點多開始,花了沒幾分鐘就把 敲好了,可是資料一測,竟然不對,然後就開始找問題,找了很久,我竟然都還沒看出問題在哪,越找心裡越不爽,這麼做明明對的呀,一執行怎麼就錯了呢?一直到了...

乙個strlen引發的血案

部分測試 原來是這樣的 int decryptrelation aesdecryptfromfiletobytes const std string in file path,unsigned char out data,const char aes encrypt key,int in data ...