日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中兴面试题2

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中兴面试题2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

更多精彩,歡迎進(jìn)入:http://shop115376623.taobao.com

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


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

現(xiàn)在的公司招聘,都要筆試面試.如果你不是那種編程功底非常深厚的人,又不好好準(zhǔn)備一番,在筆試面試中往往會(huì)處于被動(dòng)局面.雖然有些筆試題是故意為難我們,有點(diǎn)鉆牛角尖.但是很多筆試題面試題確實(shí)能夠很好地看出我們的基礎(chǔ).

???在這里,我就略去那些鉆牛角尖的題.csdn論壇我近半年的收集中選出10道有代表性的題目,難度基本上是逐漸加大.對(duì)數(shù)組,指針,數(shù)據(jù)結(jié)構(gòu),算法,字符串,文件操作等問題都有覆蓋.主要以c語言的實(shí)現(xiàn)為主,也有c++的題.大家可以先做做這10道題,測(cè)試一下自己的水平.

1.?下面這段代碼的輸出是多少(32位機(jī)上).

????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中的數(shù)字

(2)

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

問:p=a是否會(huì)導(dǎo)致程序在以后出現(xiàn)問題?為什么?

答:沒有問題,只是使用時(shí)要小心,p是指向指針的指針。

3.用遞歸方式,非遞歸方式寫函數(shù)將一個(gè)字符串反轉(zhuǎn).

???函數(shù)原型如下: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函數(shù)和memcpy函數(shù)有什么區(qū)別?它們各自使用時(shí)應(yīng)該注意什么問題?

答:strcpy函數(shù):拷貝字符串

????memcpy函數(shù):拷貝任何數(shù)據(jù)

5.寫一個(gè)函數(shù)將一個(gè)鏈表逆序.

?答:簡(jiǎn)單

6一個(gè)單鏈表,不知道長(zhǎng)度,寫一個(gè)函數(shù)快速找到中間節(jié)點(diǎn)的位置.

?答: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;

???}

7?寫一個(gè)函數(shù)找出一個(gè)單向鏈表的倒數(shù)第n個(gè)節(jié)點(diǎn)的指針.(把能想到的最好算法寫出).

??答:兩個(gè)指針,第一個(gè)先于第二個(gè)n個(gè)位置。

???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;???//當(dāng)p3到達(dá)結(jié)尾時(shí),后于p3n個(gè)位置的就是倒數(shù)第n個(gè)節(jié)點(diǎn)。

?}

?

8補(bǔ)充一題:

給你一個(gè)單向鏈表的頭指針,可能最后不是NULL終止,而是循環(huán)鏈表。題目問你怎么找出這個(gè)鏈表循環(huán)部分的第一個(gè)節(jié)點(diǎn)。比如下面的鏈表:?
0?->?1?->?2?->?3?->?4?->?5?->?6?->?7?->?8?->?(3)?
循環(huán),就應(yīng)該返回結(jié)點(diǎn)3的位置。?
當(dāng)然盡量用少的空間和時(shí)間是題目的要求。

答:

?

10.判斷鏈表是否循環(huán);

答:bool IsLoopList(LinkNode *head)

{
?LinkNode *p1= head,*p2= head;
?if(head ->next==NULL)//
只包含頭節(jié)點(diǎn),且頭節(jié)點(diǎn)的nextNULL說明肯定不是循環(huán)鏈表
????return false;
?do{
?? p1=p1->next;??????//
步長(zhǎng)為1
? ?p2=p2->next->next;?//步長(zhǎng)為2
?}while(p2 && p2->next && p1!=p2);
?if(p1==p2)
?? return true;
?else
? ?return false;
}?

?

11.用遞歸算法判斷數(shù)組a[N]是否為一個(gè)遞增數(shù)組。

答:遞歸算法

#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]);??//
輸入數(shù)組元素。
????}
?????flag = Judgment(a);??//
調(diào)用遞歸函數(shù)
?????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; //
注意這個(gè)是靜態(tài)變量,必須用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])??????//
假如發(fā)現(xiàn)哪兩個(gè)不是遞增,立刻跳出;
??????{
????????flag = 0;
????????break;
??????}
???}
????return flag;
} ? ? ? ??


總結(jié)

以上是生活随笔為你收集整理的中兴面试题2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。