一、输入一组整数
这个就是输入一组整数,数组的话没法用,因为数组是定长的,所以我们采用
vector
结合cin.get()
进行判断。
int input;
vector<int> vec;//vector的好处就在是一个动态数组,我们可以在不指定长度的情况下,输入任意长度的数字
while(cin>>input){
vec.push_back(input);
if(cin.get()=='\n')
break;
}
二、单链表的递归逆序输出
我们在机试中经常遇到单链表的逆序输出的问题,2018北理的机试题中规定必须采用递归、链表输出,所以必须得掌握。
void reverse_input_list(node *q){
if(q->next!=NULL)
reverse_input_list(q->next);
cout<<q->data<<" ";
}
在使用的时候,采用头插或者尾插,建立好链表之后把头结点传入函数中,就OK了。
三、等腰梯形或者三角形
这也是机试中经常出现的点,虽然不难,但是有时候临时想还是考验逻辑能力的。
cin>>n;
for(i=0;i<n;i++){
for(j=0;j<n-1-i;j++)
cout