中兴面试题2

***************************************************

更多精彩,欢迎进入:http://shop115376623.taobao.com

***************************************************


from:http://blog.csdn.net/eddy_0825/article/details/1875566

现在的公司招聘,都要笔试面试.如果你不是那种编程功底非常深厚的人,又不好好准备一番,在笔试面试中往往会处于被动局面.虽然有些笔试题是故意为难我们,有点钻牛角尖.但是很多笔试题面试题确实能够很好地看出我们的基础.

   在这里,我就略去那些钻牛角尖的题.csdn论坛我近半年的收集中选出10道有代表性的题目,难度基本上是逐渐加大.对数组,指针,数据结构,算法,字符串,文件操作等问题都有覆盖.主要以c语言的实现为主,也有c++的题.大家可以先做做这10道题,测试一下自己的水平.

1. 下面这段代码的输出是多少(32位机上).

    char *p; 

    char *q[20];

    char *m[20][20];

    int (*n)[10];

    struct MyStruct

{

char dda;

double dda1;

int type ;

}

MyStruct  k;

 printf("%d %d %d %d",sizeof(p),sizeof(q),sizeof(m),sizeof(n),sizeof(k));

答案:4801600424

(1)

char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}} };

for(int i=0;i<12;i++)

printf("%d ",__a[0][0][i]_);

在空格处填上合适的语句,顺序打印出a中的数字

(2)

char **p, a[16][8]; 

问:p=a是否会导致程序在以后出现问题?为什么?

答:没有问题,只是使用时要小心,p是指向指针的指针。

3.用递归方式,非递归方式写函数将一个字符串反转.

   函数原型如下:char *reverse(char *str);

答:非递归方式:

    char *reverse(char *str)

   {

     if(str!=NULL)

     {

      int length = strlen(str);

      for(int i=0;i<length/2;++i)

        {

           char temp=str[i];

           str[i]= str[length-1];

           str[length-1] =temp;

        }

     }

    printf("%s/n",str);

   }

   递归方式:搞不定

   char *reverse(char *str)

   {

    if(str==NULL||strlen(str)==1)

       return str;

    int i;

    if(i==1)

      str[i] = '/0';

      return str[i];

    。。。。

   }

4.strcpy函数和memcpy函数有什么区别?它们各自使用时应该注意什么问题?

答:strcpy函数:拷贝字符串

    memcpy函数:拷贝任何数据

5.写一个函数将一个链表逆序.

 答:简单

6一个单链表,不知道长度,写一个函数快速找到中间节点的位置.

 答:typedef struct linknode

    {

      int a;

      struct linknode *next;

    }linknode;

   linknode *findmiddle(linknode *head)

   {

     linknode *fast,*low,*p;

     if(head==NULL)

     {

        return NULL;

     }

     fast=low=head;

     while(!(p=fast->next)&&!p->next)

     {

        low=low->next;

        fast=p->next;

     }

     return low;

   }

写一个函数找出一个单向链表的倒数第n个节点的指针.(把能想到的最好算法写出).

  答:两个指针,第一个先于第二个n个位置。

   LinkNode IsLoopList(LinkNode *head,int n)

   {

      LinkNode *p1,*p2,*p3;

   P1 = head;

   While(n-->=0)

   {

     P3= p2->next;

     P2 = p3;

   }

   While(p3->next!=NULL)

   {

P3 = p3->next;

P1 = p1->next;

   }

   Return p1;   //p3到达结尾时,后于p3n个位置的就是倒数第n个节点。

 }

 

8补充一题:

给你一个单向链表的头指针,可能最后不是NULL终止,而是循环链表。题目问你怎么找出这个链表循环部分的第一个节点。比如下面的链表: 
0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> (3) 
循环,就应该返回结点3的位置。 
当然尽量用少的空间和时间是题目的要求。

答:

 

10.判断链表是否循环;

答:bool IsLoopList(LinkNode *head)

{
 LinkNode *p1= head,*p2= head;
 if(head ->next==NULL)//
只包含头节点,且头节点的nextNULL说明肯定不是循环链表
    return false;
 do{
   p1=p1->next;      //
步长为1
   p2=p2->next->next; //步长为2
 }while(p2 && p2->next && p1!=p2);
 if(p1==p2)
   return true;
 else
   return false;

 

11.用递归算法判断数组a[N]是否为一个递增数组。

答:递归算法

#include <stdio.h>
#include <conio.h>
#define N 5

int Judgment(int a[]);

int main()
{
    int a[N], i, flag = 1;
    printf("Enter array data: ");
    for (i = 0; i < N; i++)
    {
        scanf("%d", &a[i]);  //
输入数组元素。
    }
     flag = Judgment(a);  //
调用递归函数
     if (flag == 1)
    {
        printf("increment array./n");
    }
    else if (flag == 0)
    {
        printf("no increment array./n");
    }
    getch();
    return 0;
}

int Judgment(int a[])
{
    static i = 0; //
注意这个是静态变量,必须用static
    if(i < N - 1)
    {
        if (a[i] > a[i + 1])
        {
            return 0;         

    }
        i++;
        Judgment(a);
    }    
       return 1;
}            

非递归算法:

 #include <stdio.h>
#include <conio.h>
#define N 5

int Judgment(int a[], int num);

int main()
{
    int a[N], i, flag = 1;
    printf("Enter array data: ");
    for (i = 0; i < N; i++)
    {
        scanf("%d", &a[i]);
    }
    flag = Judgment(a, N);
    
    if (flag == 1)
    {
        printf("increment array./n");
    }
    else if (flag == 0)
    {
        printf("no increment array./n");
    }
    getch();
    return 0;
}

 

int Judgment(int a[], int num)
{
    static i = 0, flag = 1;
  for(i=0; i<num; i++)
    {
     if (a[i] >= a[i+1])      //
假如发现哪两个不是递增,立刻跳出;
      {
        flag = 0;
        break;
      }
   }
    return flag;
}         


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 路径获取文件名称_java 根据文件获取文件名及路径的方法

filelistnew HashMap();/*** 递归方法* param path 文件路径*/public static void find(String path){File filenew File(path);File[] files file.listFiles();//如果文件数组为null则返回if (files null)return;for (int i 0; i < files.length; i) {if (files[i].isDi…

PYTHON招聘需求与技能体系

为什么80%的码农都做不了架构师&#xff1f;>>> 目前国内的招聘Python&#xff0c;基本都是偏向web后台开发&#xff0c;偶有高大上的数据挖掘&机器学习 这是之前(2012年)找工作整理的一些JD&#xff0c;在梳理几年来的笔记&#xff0c;顺带理一理 可以以此建…

C#学习笔记(十一):动态类型

C#是一门静态类型的语言&#xff0c;但是在C#4.0时微软引入了动态类型的概念。 dynamic 关键字dynamic用来定义动态对象&#xff0c;我们来看一下动态类型的一些特性。 调用不同类的相同方法 我们有两个或多个不相关的类&#xff0c;然后运行时需要可以调用到相同名称的方法&am…

c++面试试题

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** from&#xff1a;http://blog.csdn.net/eddy_0825/article/details/1875597 1 …

《FPGA全程进阶---实战演练》第二十一章 电源常用类型:LDO和 DCDC

高速电路中的电源设计 高速电路中的电源设计大概分为两种&#xff0c;一种是集总式架构&#xff0c;一种是分布式架构。集总式架构就是由一个电源输入&#xff0c;然后生成多种所需要的电压。如图1所示。这种架构会增加多个DC/DC模块&#xff0c;这样成本不可控&#xff0c;PCB…

自定义View控件(2—手写实例代码)

1、 步骤: 1.自定义一个类继承于UIView 2.在initWithFrame方法中添加子控件 3.在layoutSubviews中设置子控件的位置 4.提供一个属性保存外界传入的数据(模型对象), 重写setter方法设置子控件的数据 - 类工厂方法(便利构造器) 按照苹果的风格和规范, 一般情况一个用于创建对…

pojo java_Java——POJO总结

一&#xff1a;什么是POJO“Plain Old Java Object”“简单java对象”。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口&#xff0c;更没有被其它框架侵入的java对象。二&#xff1a;为什么会有POJO&#xff1f;主要是Java的开发者被EJB的繁杂搞怕了&#xff0c;…

MATLAB调用C/C++函数的方法

http://item.taobao.com/item.htm?spma1z10.5-c.w4002-9510581626.24.ZO6sko&id43401674106 精通MATLAB混合编程视频讲解 MATLAB各类函数视频讲解 基于MATLAB的高等数学问题求解 MATLAB函数速查视频讲解 面向对象C视频教程 精通MATLAB混编编程demo及PDF QQ&#xff1a…

迁云架构实践

本文着笔介绍IT互联网化为传统企业带来的技术挑战&#xff0c;并对上云架构最佳实践进行了深入介绍&#xff0c;首发于阿里云&《程序员》联合出品的《凌云》杂志。 作者&#xff1a; 王宇德&#xff0c;张文生 云计算作为信息技术领域的一种创新应用模式&#xff0c;自其诞…

最短路最新心得

如果&#xff0c;上面的图&#xff0c;如果用dij算法&#xff0c;那么dist[4] 4, 是得不到正确的结果的&#xff0c; 这个因为dist[3]先被确定是最小&#xff0c;然后用来更新dist[4] 但是存在负权&#xff0c;使得dist[3]更小&#xff0c;但是我们已经把结点3标记为不可用了…

java canvas 缩放图片_java-GWT:放大和缩小画布绘图

我想应用放大和缩小,并在画布上重新绘制对象,以便在最大和最小缩放级别都能获得清晰的视图.我获得了如何执行操作的参考here,因此我已将画布传递给可缩放图像构造函数而不是图像,并按照所有步骤进行操作.我再次在“ mainDraw”方法中重画对象,但没有得到正确的结果.我知道我缺少…

MATLAB中MEX文件的编写与调试

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com http://item.taobao.com/item.htm?spma1z10.5-c.w4002-9510581626.24.ZO6sko&id43401674106 精通MATLAB混合编程视频讲解 MATLAB各类函数…

数据库设计思考

一&#xff1a;没有完美的数据库设计&#xff0c;只有符合业务的数据库设计&#xff01; 二&#xff1a;我们的数据库设计&#xff0c;在遵守标准&#xff08;三大范式&#xff09;的同时也要考虑客户的体验&#xff01; 有用户才有天下&#xff01; 三&#xff1a;数据库设计时…

performSegueWithIdentifier:sender里边的sender是啥意思

performSegueWithIdentifier:sender里边的sender是啥意思啊&#xff1f;怎样用啊&#xff1f; [self performSegueWithIdentifier:"pushSign" sender:self]; [self performSegueWithIdentifier:"pushSign" sender:sender]; [self performSegueWithIdent…

java wrapper怎么运行_如何从智能合约中生成Java Wrapper

在本文中&#xff0c;我们将了解如何直接从智能合约生成Java Wrapper类以与Java中的智能合约进行交互。从智能合约生成Java Wrapper类有不同的方法&#xff1a;1. Web3j命令行工具和solc2. Web3j命令行工具和Truffle构建生成的工件3. web3j-maven-plugin4. web3j-gradle-plugin…

Hive 1.2.1SparkSqoop安装指南

目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.2. 创建Hive元数据库 4 5. 安装步骤 5 5.1. 下载Hive 1.2.1二进制安装包 5 5.2. 安装Hive 5 5.3. 安装MySQL-Connector 5 5.4. 修改配置 5 5.4.1. 修改/etc/profile或~/.profile 5 5.4.2. 修…

Matlab与C/C++混合编程调用OpenCV

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com http://item.taobao.com/item.htm?spma1z10.5-c.w4002-9510581626.24.ZO6sko&id43401674106 精通MATLAB混合编程视频讲解 MATLAB各类函数…

STL--排序与检索

题目 现有N个大理石&#xff0c;每个大理石上写了一个非负整数。首先把各数从小到大排序&#xff0c;然后回答Q个问题。每个问题是否有一个大理石写着某个整数x,如果是&#xff0c;还要回答哪个大理石写着x。排序后的大理石从左到右编写为1-N。&#xff08;样例中&#xff0c;…

体验LESS CSS 框架

LESS基于NODE.JS的一种框架性语言&#xff0c;它可以更好更快捷的来搭建网站框架结构&#xff1b; 而后LESS 将 CSS 赋予了动态语言的特性&#xff0c;如 变量&#xff0c; 继承&#xff0c;运算&#xff0c; 函数. LESS 既可以在 客户端 上运行 (支持IE 6, Webkit, Firefox)&a…

java添加按钮点击事件_如何为odoo 10中的按钮点击事件添加一个java脚本处理程序?...

我想使用java脚本为header中的按钮创建一个处理程序。下面我视图模型给出&#xff1a;如何为odoo 10中的按钮点击事件添加一个java脚本处理程序&#xff1f;inherit_id"web.assets_backend">rel"stylesheet">my_pet_store_formpetstore.messageformc…