浙江大华2012笔试+解析

本文详细解答了浙江大华笔试中涉及的程序编写、填空、改错题,涵盖链表、字符串对称性检查、指针操作、静态与动态链接库等知识点,并探讨了多线程与多进程的优缺点。
摘要由CSDN通过智能技术生成

一、程序编写题

1.函数checkstr判断一个字符串是不是对称的,如:“abccba”是对称的,"abccbaa"则不是对称的。函数声明如下,其中msg为输入的字符串,对称返回0,不对称返回-1,请实现该函数。
int checkstr(const char *msg);

答:

  1. int checkstr(const char *msg)  
  2. {  
  3.     int i = 0, len;  
  4.     while(msg[i] != '\0')i++;  
  5.     len = i;  
  6.     for(i = 0; i < len/2; i++)  
  7.         if(msg[i] != msg[len-i-1])  
  8.             return -1;  
  9.     return 0;  
  10. }  

 

2.给出一个单向链表的头指针,输出该链表中倒数第k个节点的指针。链表的倒数第0个节点为链表的尾结点(尾结点的next成员为NULL)。

函数findnode实现上述功能,链表节点定义及函数声明如下,请实现函数findnode。

  1. typedef struct Node  
  2. {  
  3.     struct Node *next;  
  4. }Node;  
  5. Node* findnode(Node *head, unsigned int k);  

答:

  1. Node* findnode(Node *head, unsigned int k)  
  2. {  
  3.     int cnt = 0;  
  4.     Node *p = head;  
  5.     while(p)  
  6.     {  
  7.         cnt++;  
  8.         p = p->next;  
  9.     }  
  10.     if(cnt < k)  
  11.         return NULL;  
  12.     cnt = cnt - k - 1;  
  13.     p = head;  
  14.     while(cnt--)  
  15.         p = p->next;  
  16.     return p;  
  17. }  


二、程序填空题

1.请写出下面程序的运行结果
  1. int count = 3;  
  2. int main()  
  3. {  
  4.     int i, sum, count = 2;  
  5.     for(i = 0, sum = 0; i < count; i += 2,count++)  
  6.     {  
  7.         static int count = 4;  
  8.         count++;  
  9.         if(i % 2 == 0)  
  10.         {  
  11.             extern int count;  
  12.             count++;  
  13.             sum += count;  
  14.         }  
  15.         sum += count;  
  16.     }  
  17.     cout<<count<<' '<<sum<<endl;  
  18.     return 0;  
  19. }  
请问其运行结束时的打印信息是                 
  1. 答:4 20  
  2. extern是引用全局的count,定义为static的count只初始化一次,见static总结  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值