- 赵一静 的博客
八月暑期集训8月21日DAY15错题解析
- @ 2024-8-21 13:56:15
2023 初赛
阅读下述代码,请问修改data的value成员以存正确的方式是()。
union Data{
int num;
float value;
char symbol;
};
union Data data;
A.data.value=3.14;
B.value.data=3.14;
C.data->value=3.14;
D.value->data=3.14;
解析:
一道记忆题,“->”用于链表等数据结构,但是union是用点号(“.”)来访问的。所以选A。
错误原因:
对union的学习正在进行中。( 因为讲义里没有关于联合体的讲解,所以有点慢 )
假设有一个链表的节点定义如下:
struct Node{
int data;
Node *next;
};
现在有一个指向链表头部的指针:Node*head。如果想要在链表中插入一个新节点,其成员data的值为,并使新节点成为链表中的第一个节点,下面()种操作是正确的?
A.Node*newNode=new Node; nowNode->data=42; newNode->next=head; head=newNode;
B.Node*newNode=new Node; head->data=42; newNode->next=head; head=newNode;
C.Node*newNode=new Node; nowode->data=42; head-next=newNode;
D.Node*newNode=new Node; nowode->data=2; newNode->next=head;
解析:
首先,把*newNode=new Node赋值为new Node;再把data的值赋为;其次,把指向下一个的指针指向头结点;最后,把头结点变成新的节点。其他的方法都有误,所以选A。
错误原因:
看错题目了,以为B选项的内容是A选项。以后要看清题目,不要盲目地选择。
一个班级有个男生和个女生。如果要选出一个人的小组,并且小组中必须至少包含个女生,那么有()种可能的组合?
A.
B.
C.
D.
解析:
分情况讨论,具体情况如下:
有个男生:
有个男生:
没有男生:
一共有种排法。故选A。
错误原因:
排列组合的掌握还有待提高。( 虽然我学过,但好像都忘了 )