See the code below, Exactly how many times is the operation sum++ performed? (5 points) for ( i = 0; i < 100; i++ ) for ( j = 100; j > 100 - i; j--) sum++; (99 * 100)/2 = 4950 The sum++ is performed 4950 times. Convert a binary string to decimal number (5 points) // binary: is binary string //size: is size of the binary string buffer int bin2dec(unsigned char *binary, int size) { int i, result = 0; for (i = 0; i < size; i ++) { result += (binary [i ] - '0' ) << (size - i - 1) ; } return result; } Detect a loop in single linked list (15 points) Node *detectloop(Node *list) { Node *n1, *n2; //prev indicates loop started at this point Node *prev=NULL ; for (n1=list, n2=list; (n1!=NULL ) && (n2!=NULL ) ; ) { if (prev && (n1 == n2)) { return prev; } prev = n1; n1=n1->next; n2=n2->next; if (n2) { n2=n2->next; } } } Please insert a node to binary tree (25 points) //Insert i into the tree t, duplicate will be discarded //Return a pointer to the resulting tree. Tree * insert(int value, Tree * t) { Tree * new_node; if (t == NULL ) { new_node = (Tree *) malloc (sizeof (Tree )) ; if (new_node == NULL ) { return t; } new_node->element = value; new_node->left = new_node->right = NULL ; return new_node; } if (value < t->element) { t->left = insert(value, t->left) ; } else if (value > t->element) { t->right = insert(value, t->right) ; } else { //duplicate, ignore it return t; } return t; } How do you test a hospital elevator? (25 points) (可以用中文描述 , 请注意应用多种测试用例 ) 逻辑推理 (50 points) 有 A 、 B 、 C 、 D 、 E 五个人。每个人都把一块白色或黑色的圆牌系在各自的前额上。每个 人都能看到系在其他四个人前额上的牌, 但又都看不见他自己的。 如果一个人系的圆牌是白 色的, 他所讲的话就是真实的; 如果系的圆牌是黑色的, 他所说的话就是假的。他们说的话 如下: A 说:我看见三块白牌和一块黑牌。 B 说:我看见四块黑牌。 C 说:我看见块白牌 和三块黑牌。 E 说:我看见四违犯白牌。 他们每个人系的圆牌都是什么颜色的? 提示 先看 E 的话,如果是对的,那么其它人都应当说…… 再看 B 的话,如果……(注意:黑牌者的话不会是正确的), 再看 A ,再看 C , D 必然是……。 答案 A、 B 、 E 是黑牌。 C 、 D 是白牌。 英文写作 : The way to my dream job (25 points) 本文来源:https://www.wddqw.com/doc/779c830b5a0102020740be1e650e52ea5518ced8.html