鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
2017年10月江蘇省計(jì)算機(jī)二級(jí)C語言真題第1套

1   (20171)

1、  移動(dòng)通信指的是處于移動(dòng)狀態(tài)的對(duì)象之間的通信,最有代表性的是手機(jī)——個(gè)人移動(dòng)通信系統(tǒng)。下列有關(guān)移動(dòng)通信的敘述中,錯(cuò)誤的是___________。

A.   基站是個(gè)人移動(dòng)通信系統(tǒng)的重要組成部分,它負(fù)責(zé)與其周圍區(qū)域內(nèi)所有手機(jī)進(jìn)行通信

B.   無論是最早的第1代個(gè)人移動(dòng)通信,還是處于發(fā)展中的5G,均是采用數(shù)字通信技術(shù)

C.   2代移動(dòng)通信以語音傳輸技術(shù)為核心,但可提供收發(fā)短信息等數(shù)據(jù)量很少的數(shù)據(jù)業(yè)務(wù)

D.   目前智能手機(jī)分為多種產(chǎn)品類型,全網(wǎng)通手機(jī)一般可以接入國(guó)內(nèi)三大運(yùn)營(yíng)商的所有網(wǎng)絡(luò)

B

解析: 最早的第1代個(gè)人移動(dòng)通信采用模擬通信技術(shù)。

4

2、  數(shù)十年來,硬盤一直是計(jì)算機(jī)中最重要的外存儲(chǔ)器。下列有關(guān)硬盤的敘述中,錯(cuò)誤的是_________。

A.   通常硬盤的盤片兩面均可記錄數(shù)據(jù),因而盤片兩側(cè)各有一個(gè)磁頭

B.   所有的硬盤均有多個(gè)盤片組成,一般不會(huì)僅使用一個(gè)盤片,盤片數(shù)越多則容量越大

C.   硬盤盤片直徑一般為3.5、2.51.8英寸等,臺(tái)式PC通常采用3.52.5英寸硬盤

D.   目前內(nèi)置硬盤的接口大多數(shù)為SATA接口,它以告訴串行方式傳輸數(shù)據(jù)

B

解析: 硬盤一般由14個(gè)或15個(gè)盤片組成,盤片宜少不宜多,單碟盤片的容量越大越好。

2

3、  下列有關(guān)信息、信息技術(shù)、信息產(chǎn)業(yè)、信息化的敘述中,錯(cuò)誤的是_________

A.   信息的表現(xiàn)形式多種多樣,其分類也不計(jì)其數(shù)

B.   所有的信息技術(shù)均采用電子技術(shù)(含激光技術(shù))進(jìn)行信息的收集、傳遞、加工、存儲(chǔ)等

C.   信息產(chǎn)業(yè)是戰(zhàn)略性先導(dǎo)產(chǎn)業(yè),其科技創(chuàng)新含量高,知識(shí)、智力和技術(shù)密集

D.   信息化是當(dāng)今世界發(fā)展的大趨勢(shì),是我國(guó)增強(qiáng)國(guó)際競(jìng)爭(zhēng)力和提高綜合國(guó)力的關(guān)鍵之一

B

解析: 信息技術(shù)的歷史非常長(zhǎng),主要是為了提高人們的信息器官功能,協(xié)助人們進(jìn)行信息處理的技術(shù),現(xiàn)代信息技術(shù)采用電子技術(shù)(含激光技術(shù))進(jìn)行信息的收集、傳遞、加工、存儲(chǔ)等  

1

4、  根據(jù)不同的應(yīng)用需求,數(shù)字音頻采用的編碼方法有多種,文件格式也各不相同。下列的音頻格式中,由美國(guó)Dolby公司開發(fā)的、在DVD和數(shù)字電視等領(lǐng)域廣泛使用的是______

A.   WAV

B.   MP3

C.   AC3

D.   ACC

C

解析: MP3是一種音頻壓縮技術(shù),由于這種壓縮方式的全稱叫MPEG Audio Layer3,所以人們把它簡(jiǎn)稱為MP3;WMA是微軟制訂的音頻壓縮文件格式,比mp3標(biāo)準(zhǔn)晚,比mp3還小,比mp3音質(zhì)還好 , 采用未壓縮編碼方式;美國(guó)杜比公司開發(fā)的AC3, DVD和數(shù)字電視等領(lǐng)域廣泛使用;相對(duì)于mp3,AAC格式的音質(zhì)更佳,文件更小。  

5

5、  主機(jī)上用于連接I/O設(shè)備的各種插頭、插座,統(tǒng)稱為I/O接口。下列I/O接口中,近年來生產(chǎn)的大多數(shù)筆記本電腦通常不具有的接口(或者說通常不配備的接口)是______

A.   PS/2

B.   USB

C.   SATA

D.   VGA

A

解析: PS/2是早期連接有線鼠標(biāo)的接口,現(xiàn)在主要使用USB接口了  。

2

6、  數(shù)值、文字、圖像、聲音等不同的信息在計(jì)算機(jī)中的表示方法是不同的。下列相關(guān)敘述中,錯(cuò)誤的是______

A.   數(shù)值為負(fù)的整數(shù)在計(jì)算機(jī)中通常采用“反碼”的方法進(jìn)行表示

B.   文字由一系列“字符”構(gòu)成,每個(gè)字符通常使用1-4個(gè)字節(jié)的二進(jìn)制編碼表示

C.   黑白圖像在數(shù)據(jù)庫時(shí),每個(gè)像素一般采用8位二進(jìn)制無符號(hào)整數(shù)表示

D.   聲音信息在數(shù)字化時(shí),每個(gè)取樣的樣本一般使用8位、12位、14位或16位二進(jìn)制數(shù)表示

A

解析: 數(shù)值為負(fù)的整數(shù)在計(jì)算機(jī)中通常采用“補(bǔ)碼”的方法進(jìn)行表示  。

1

7、  字符集及其編碼是計(jì)算機(jī)中表示、存儲(chǔ)、處理和交換文本信息的基礎(chǔ),但由于歷史原因,目前不同系統(tǒng)或應(yīng)用中使用的字符編碼方案并不統(tǒng)一。下列有關(guān)漢字編碼的敘述中,錯(cuò)誤的是______

A.   在我國(guó)最早頒布的漢字編碼字符集GB 2312僅包含6000多個(gè)漢字,其中沒有繁體漢字

B.   無論是GB 2312、GBK,還是GB 18030,其中西文字符均為單字節(jié)編碼,漢字均為雙字節(jié)編碼

C.   目前在互聯(lián)網(wǎng)的許多應(yīng)用中采用UTF-8編碼,該編碼方案采用可變長(zhǎng)度字符編碼

D.   目前在Windows操作系統(tǒng)中常使用UTF-16編碼,在該編碼方案中漢字編碼使用2個(gè)字節(jié)表示

B

解析: GB 2312中字符全部采用雙字節(jié)   。

5

8、  操作系統(tǒng)是計(jì)算機(jī)中重要的一種系統(tǒng)軟件,應(yīng)用軟件必須在操作系統(tǒng)的管理和支持下運(yùn)行。下列有關(guān)操作系統(tǒng)的敘述中,錯(cuò)誤的是______

A.   操作系統(tǒng)承擔(dān)著資源分配和調(diào)度等任務(wù),以保證程序正常有序地運(yùn)行

B.   目前大多數(shù)操作系統(tǒng)都向用戶提供圖形用戶界面,它以窗口形式顯示程序運(yùn)行狀態(tài)

C.   操作系統(tǒng)通常由操作系統(tǒng)內(nèi)核和許多配套軟件、程序庫等組成

D.   所有的計(jì)算機(jī)都必須安裝操作系統(tǒng)才能工作,操作系統(tǒng)的運(yùn)行不依賴任何其他軟件

D

解析: 操作系統(tǒng)啟動(dòng)前依賴于底層的BIOS程序,通過引導(dǎo)加載程序?qū)⒉僮飨到y(tǒng)加載到內(nèi)存中并運(yùn)行。

3

9、  按照軟件權(quán)益的處置方式來分類,軟件可以分為商品軟件、共享軟件、自由軟件等多種類型,下列相關(guān)敘述中,錯(cuò)誤的是______

A.   所有的商品軟件都需要用戶付費(fèi)購買其使用權(quán),且軟件升級(jí)均需要再次付費(fèi)

B.   共享軟件通常是"買前免費(fèi)試用"的具有版權(quán)的軟件,過了試用期則付費(fèi)可繼續(xù)使用

C.   自由軟件倡導(dǎo)的軟件"非版權(quán)"原則,允許拷貝、修改和自由傳播

D.   大多數(shù)開源軟件都是多人合作,義務(wù)開發(fā)的成果,其發(fā)展促進(jìn)了軟件共享和技術(shù)創(chuàng)新

A

解析:商品軟件升級(jí)有的需要付費(fèi),有的不需要付費(fèi)。

3

10、              隨著互聯(lián)網(wǎng)技術(shù)和應(yīng)用的發(fā)展,Web已經(jīng)從信息發(fā)布與查詢平臺(tái)發(fā)展成為多種信息處理應(yīng)用的平臺(tái),下列有關(guān)敘述中,錯(cuò)誤的是_______

A.   靜態(tài)網(wǎng)頁通常指那些內(nèi)容基本不變的網(wǎng)頁,除非網(wǎng)頁作者(發(fā)布者)對(duì)其修改并重新發(fā)布

B.   動(dòng)態(tài)網(wǎng)頁的內(nèi)容通常不是預(yù)先確定的,而是根據(jù)用戶請(qǐng)求提供的參數(shù)實(shí)時(shí)生成的頁面

C.   Web平臺(tái)上運(yùn)行的信息處理系統(tǒng)(如淘寶、京東等)都是使用動(dòng)態(tài)網(wǎng)頁技術(shù)開發(fā)實(shí)現(xiàn)的

D.   目前所有的動(dòng)態(tài)網(wǎng)頁都是使用微軟公司的ASP.NET技術(shù)開發(fā)而成的

D

解析:動(dòng)態(tài)網(wǎng)頁技術(shù)有多種,Asp.net, Php,Jsp  。

3

 

【程序設(shè)計(jì)理論】

1.         執(zhí)行以下程序時(shí)輸出_______

#include<stdio.h>

float p=1.5;

void fun(void)

{

  int  p=1;

}

#define  p  2.5

int  main()

{

   fun();

   printf( "%d" , (int)p) ;return 0;

}

A1

B2

C1.5

D2.5

B

解析: 本題考核的是,變量名稱相同時(shí),訪問作用范圍小的變量,具體見題目詳細(xì)講解。

7

2.         以下庫函數(shù)中能將鍵盤輸入的一串?dāng)?shù)字字符串轉(zhuǎn)換為int類型數(shù)據(jù)的庫函數(shù)是______

Ascanf

Bgets

Cgetchar

Dgerch

A

解析:通過scanf(“%d”,變量?jī)?nèi)存地址) 可以實(shí)現(xiàn)將鍵盤輸入的一串?dāng)?shù)字字符串轉(zhuǎn)換為int類型數(shù)據(jù),gets用于給字符數(shù)組賦值,getchar用于給字符變量賦值   。

4

3.         已有聲明"int a[5],*b=a,(*c)[3],*d[3];",以下表達(dá)式中有語法錯(cuò)誤的是____

A a[0]=0

B b[0]=0

C.  c[0]=0;

D.  d [0]=0

C

解析: 變量聲明中 int (*c)[3]的含義是聲明一個(gè)變量c,指向一塊內(nèi)存空間,這塊內(nèi)存空間中只能存放行地址的內(nèi)存編號(hào),具體見視頻講解。

10

4.         已知ab為參加某邏輯運(yùn)算的兩個(gè)操作數(shù),該邏輯運(yùn)算規(guī)則為當(dāng)且僅當(dāng)a、b中只有一個(gè)為真時(shí)結(jié)果才為真,其他情況下結(jié)果均為假。以下用于表示該邏輯運(yùn)算的表達(dá)式是____
A
!a||b

Ba&&!b

C(a&&b) &&!(a||b)

D(a||b) &&! (a&&b)

D

解析: 可以分別采用當(dāng)a=1,b=1a=0,b=0a=1,b=0a=0,b=1時(shí)帶入公式計(jì)算,只有D選項(xiàng)符合題目要求。

3

5.         執(zhí)行語句”fp=fopen(“my.dat”,”r+”);”后,程序?qū)ξ募?/SPAN>my.dat中數(shù)據(jù)的讀寫操作權(quán)限為_______。

A 只讀

B 只寫

C.  可讀且可覆蓋寫

D.  可讀且可追加寫

C

解析:只讀通過r實(shí)現(xiàn),只寫通過w實(shí)現(xiàn),通過r+實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行讀且可覆蓋寫, 可讀且可追加寫通過aa+實(shí)現(xiàn)   。

13

6.         以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是____________   ,第二行是____________   。

#include<stdio.h>

int  main()

{

  int  n,s=0,t=1;

  for(n=1;n<=3;n++)

      t=t*n,s=s+t;

  printf( "%d\n%d" , t,s ) ;

  return 0;

}

6@9

解析: 因文字解析不如視頻講解清晰,具體見視頻詳細(xì)講解。

6

7.         以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是____________   ,   第二行是____________   ,第三行是____________   。

#include <stdio.h>

int funp(int  m )

{

  int  i;

  for(i=2;i<=m/2;i++)

      if(m%i==0)return 0;

  return 1;

}

int  guess(int  a[][3],int  m,int  n )

{

   int  i,k,j,t=0;

   if(m%2)m++;

   for(i=m;i<=n;i+=2)

   {

    for(k=3;k<=i/2;k+=2)

      if(funp(k))

         {

        j=i-k;

        if(funp(j))

              {

           a[t][0]=i;a[t][1]=k;a[t][2]=j;

            t++;

           break;

              }

      }

   }

   return t;

}

int   main()

{

   int  a[100][3],i,k;

   k=guess(a,6,10);

   for(i=0;i<k;i++)

     printf("%3d%3d %3d\n ",a[i][0],a[i][1],a[i][2]);

   return 0;

}

6  3  3@8  3  5@10  3  7

解析: 因文字解析不如視頻講解清晰,具體見視頻詳細(xì)講解。

7

8.         以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是_____________,第二行是______________

#include<stdio.h>

int strmerge(char *a,char *b,char *c)

{

  int i=0,j=0,k=0;

  char   t;

  while(a[i]!='\0' && b[j]!='\0')

  {

    if(a[i]==b[j])

      t=a[i],i++,j++;

    else

      if(a[i]<b[j])   t=a[i++];

      else  t=b[j++];

      if(k==0)  c[k++]=t;

      else  if(t!=c[k-1])  c[k++]=t;

  }

 

  while (a[i]!='\0')

  {

    if(k==0) c[k++]=a[i];

      else  if(a[i]!=c[k-1])  c[k++]=a[i];

    i++;

  }

  while(b[j]!='\0')

  {

    if(k==0)  c[k++]=b[j];

    else if(b[j]!=c[k-1])  c[k++]=b[j];

    j++;

  }

  c[k]='\0';

  return  i+j-k;

}

 

 

int  main()

{

   int  n;

   char  s1[10]="ccp",s2[10]="oppy",s3[20];

   n=strmerge(s1,s2,s3);

   puts(s3);

   printf("%d",n);

   return 0;

}

 

copy@3

解析: 因文字解析不如視頻講解清晰,具體見視頻詳細(xì)講解。

7

9.         以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是_______,第二行是____________,第三行是________。

 

以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是,第二行是,第三行是。

#include<stdio.h>

struct node

{

    int d;

    struct node *next;

};

int copylist( struct node *head ,int x[])                 

{

    int data,k=0;  

    struct node *pk,*pj,*pm,*pn;                

    while(head!=0)     

    {

        pk=head;   data=pk->d;   pn=pk;

        while(pk->next!=0)              

        {

            pj = pk->next;

            if(pj->d < data)            

            {  data=pj->d;   pm=pk;    pn=pj;   }

            pk=pj;

        }

        x[k++]=pn->d;

        if(pn!=head)

           pm->next=pn->next;       

        else  

           head=pn->next;

    }

    return k;

}

int main()

{

    int n,i,b[10];

    struct node a[]={{4},{2},{3}},*head=a;   

    a[0].next=a+1;a[1].next=a+2;

    n=copylist(head,b);

    for(i=0;i<n;i++)

        printf("%d\n",b[i]);

    return 0;

}

 

2@3@4

解析: 因文字解析不如視頻講解清晰,具體見視頻詳細(xì)講解。

11

 

1(完善程序):

【要求】

1.打開T盤中文件myf0.c,按以下程序功能完善文件中的程序。

2.修改后的源程序仍保存在Tmyf0.c文件中,請(qǐng)勿改變myf0.c的文件名。

【程序功能】

  已知方程x2-3x+2=0在區(qū)間[0,1.5]內(nèi)有一實(shí)根。以下程序中函數(shù)root為遞歸函數(shù),采用二分法(半分區(qū)間法)求方程f(x)=0在區(qū)間[a,b]內(nèi)的一個(gè)近似實(shí)根x。當(dāng)|f(x)|<10-8時(shí),x即為所求的近似實(shí)根。

【測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果】

    輸出:One root is 1.000000

【待完善的源程序】

#include <stdio.h>

#include<conio.h>

#include <math.h>

double  f ( double x )

{  

    return x*x-3*x+2;

}

double  root ( double a,double b )

{

    double m=   1   ,x=0 ;        

    if(fabs(f(m))<1e-8)    

        x=   2  ;           

    else

    {

        if(   3    *f(m)>0 )   

            a=m;

        else 

            b=m;

        x=root(  4   ); 

    }

    return x ;

 }

int main()

{

    printf("One root is %lf",root(0,1.5));

    getch();

    return 0;

}

 

 

2(改錯(cuò)題):

【要求】

1.打開T盤中文件myf1.c,按以下程序功能改正文件中程序的錯(cuò)誤。

2.可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加變量聲明或預(yù)處理命令,但不能增加其他語句,也不能刪去整條語句。

3.修改后的源程序仍保存在Tmyf1.c文件中,請(qǐng)勿改變myf1.c的文件名。

【程序功能】

 以下程序中函數(shù)sort的功能是對(duì)a指向的數(shù)組中前n個(gè)元素作如下處理:

 1)若數(shù)組元素值的十進(jìn)制表示不足四位,則取原數(shù)加上十進(jìn)制數(shù)1000作為該元素的值,若超過四位數(shù)則取其低三位數(shù)加上十進(jìn)制數(shù)1000作為該元素的值,否則其值保持不變。

 2)按每個(gè)數(shù)組元素值的十進(jìn)制表示中的高兩位數(shù)升序排序;如果高兩位數(shù)相等,則按低兩位數(shù)降序排序。

【測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果】

測(cè)試數(shù)據(jù):

     7115,5405,505,810,7108,9016,9005,3412,13511,4509

輸出:

       1511   1505   1810   3412   4509

       5405   7115   7108   9016   9005

【含有錯(cuò)誤的源程序】

#include <stdio.h>

#include<conio.h>

#define N 10

void sort(int a[],int n);

int main()

{

    int i;

    int a[n]={7115,5405,505,810,7108,9016,9005,3412,13511,4509};

    sort(a,N);

    for(i=0;i<N;i++)

        printf((i+1)%5 ? "%7d":"%7d\n",a[i]);

    getch();

    return 0;

}

void sort(int a[], int n)

{

    int i,j,k,x;

    for(i=0;i<n;i++)

    {

        if(!(1000<=a[i]<=9999))     

            a[i]=1000+a[i]%1000;

    }

    for(i=0;i<n-1;i++)

    {

        k=i;

        for(j=i+1;j<n-1;j++)          

          if((a[k]/100)>(a[j]/100)) k=j;

        else

          if(a[k]/100=a[j]/100&&a[k]%100<a[j]%100) k=j;

        if (k!=i)

            x=a[i],a[i]=a[k],a[k]=x;

    }

}

 

 

 

3(編程題):

【要求】

1.打開T盤中文件myf2.c,在其中輸入所編寫的程序。

2.數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實(shí)現(xiàn)。

3.請(qǐng)勿改變myf2.c的文件名。

【程序功能】

   統(tǒng)計(jì)字符串中出現(xiàn)的不同英文字母(不區(qū)分大小寫)各自出現(xiàn)的次數(shù)。

【編程要求】

1.編寫函數(shù)int tongji(char x[],char a[],int c[])。函數(shù)功能是統(tǒng)計(jì)僅在x指向的字符串中出現(xiàn)的不同英文字母各自出現(xiàn)的次數(shù)(字母不區(qū)分大小寫),按字典序依次將字符串中出現(xiàn)的字母保存到a指向的數(shù)組中,將每個(gè)字母出現(xiàn)的次數(shù)對(duì)應(yīng)保存到c指向的數(shù)組中,函數(shù)返回字符串中出現(xiàn)的不同字母的數(shù)量。

2.編寫main函數(shù)。函數(shù)功能是聲明3個(gè)一維數(shù)組并用測(cè)試字符串初始化其中一個(gè)數(shù)組,用3個(gè)數(shù)組作實(shí)參調(diào)用tongji函數(shù),將統(tǒng)計(jì)結(jié)果輸出到屏幕及文件myf2.out 中。最后將考生本人準(zhǔn)考證號(hào)輸出到文件myf2.out中。

【測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果】

    測(cè)試字符串:Good Lucky

    輸出:

        C: 1

        D: 1

        G: 1

        K: 1

L: 1

        O: 2

        U: 1

        Y: 1

 

#include <stdio.h>

 

int tongji(char x[],char a[],int c[])

{

   int i=0,k=0;

   char b;

   while(x[i])

   {

         if(x[i]>='A' && x[i]<='Z')

         {    b=x[i];

           c[b-65]++;

         }

         if(x[i]>='a' && x[i]<='z')

         {  

               b=x[i];

         c[b-65-32]++;

         }

      i++;

   }

 

 

 

   for(i=0;i<26;i++)

   {

      if(c[i]>0)

         {

                a[k]=i+65;

                c[k]=c[i];

                k++;

         }

   }

 

   return k;

}

 

 

int main()

{

  FILE *fp;

  int k,i;

  char x[]="Good Lucky";

  char a[26];

  int c[26]={0};

  fp=fopen("myf2.out","w+");

  if(fp==NULL)

  {

    printf("ERROR");

       return 0;

  }

 

  k=tongji(x,a,c);

  for(i=0;i<k;i++)

  {

     printf("%c:%d\n",a[i],c[i]);

        fprintf(fp,"%c:%d\n",a[i],c[i]);

  }

  fprintf(fp,"My Exam Number is 001122");

  fclose(fp);

  return 0;

}

 

 

 

 

 

#include <stdio.h>

 

int tongji(char x[],char a[],int c[])

{

   int i=0;

   int k=0;

   char b;

   char a1[26]={0};

   int c1[26]={0};

 

   while(x[i])

   {

          if(x[i]>='A' && x[i]<='Z' || x[i]>='a' && x[i]<='z')

          {

                 b=x[i];

                 if(x[i]>='a' && x[i]<='z')

                 {

              b=x[i]-32;

                 }

                 a1[b-65]=b;

           c1[b-65]++;

            

          }

          i++;

   }

 

   for(i=0;i<26;i++)

   {

          if(c1[i]>0)

          {

         a[k]=a1[i];

               c[k++]=c1[i];

          }

 

   }

   return k;

}

 

int main()

{

   FILE *fp;

   char x[]="Good Lucky";

   char a[26]={0};

   int c[26]={0};

   int i,k;

   fp=fopen("myf2.out","w+");

 

   k=tongji(x,a,c);

 

   for(i=0;i<k;i++)

   {

     printf("%c:%d\n",a[i],c[i]);

        fprintf(fp,"%c:%d\n",a[i],c[i]);

   }

 

   fclose(fp);

   return 0;

  

 

}