午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

江蘇計算機(jī)等級考試C語言考前沖刺模擬試卷

 拂塵弒愛 2014-02-23

考試模擬1

 

1.以下關(guān)于微電子技術(shù)的敘述中,錯誤的是_____________

集成電路芯片是微電子技術(shù)的結(jié)晶,它是計算機(jī)和通信設(shè)備的硬件核心,是現(xiàn)代信息產(chǎn)業(yè)的基礎(chǔ)

集成電路根據(jù)包含的電子元件數(shù)目分為小規(guī)模,中規(guī)模,大規(guī)模、超大規(guī)模和極大規(guī)模集成電路

小規(guī)模集成電路以簡單的門電路或單級放大器為集成對象

隨著微米、亞微米量級的微細(xì)加工技術(shù)的采用和硅拋光片面積的增大,集成電路的規(guī)模越來越小

2.以下關(guān)于通信技術(shù)的敘述中,錯誤的是_________________

通信系統(tǒng)中被傳輸?shù)男畔⒈仨氁阅撤N電(或光)信號的形式才能通過傳輸介質(zhì)進(jìn)行傳輸

多路復(fù)用技術(shù)有兩種,時分多路復(fù)用和頻分多路復(fù)用,其中頻分多路復(fù)用是指以事先規(guī)定的順序輪流使用同一傳輸線路進(jìn)行數(shù)據(jù)傳輸

模擬通信的優(yōu)點(diǎn)是結(jié)構(gòu)比較簡單,成本低,數(shù)字通信傳輸?shù)氖菙?shù)字信號

微波是一種極高頻率的電磁波,波長很短,通常為1m—1mm

3.使用8個二進(jìn)制位來表示整數(shù)的編碼時,十進(jìn)制-88對應(yīng)的原碼與補(bǔ)碼分別是_______

A.11011000 10100111           B.0101100010101000

C.11011011 10100111           D.1101100010101000

4. .PC機(jī)中,各類存儲器的速度由高到低的次序是________。

A.Cache、主存、硬盤、軟盤

B.主存、Cache、硬盤、軟盤

C. 硬盤、Cache、主存、軟盤

D. Cache的、硬盤、主存、軟盤

5.下面關(guān)于計算機(jī)局域網(wǎng)特性的敘述中,服務(wù)錯誤的是________。

A. 數(shù)據(jù)傳輸速率高

B. 通信延遲時間短、可靠性好

C. 可連接任意多的計算機(jī)

D. 可共享網(wǎng)絡(luò)中的軟硬件資源

6. 下列關(guān)于計算機(jī)組成及功能的說法中,正確的是__________。

A.一臺計算機(jī)內(nèi)只能有一個CPU

B.外存中的數(shù)據(jù)是直接傳送給CPU處理的

C. 多數(shù)輸出設(shè)備的功能是將計算機(jī)中用“0和“1表示的信息轉(zhuǎn)換成人可直接識別的形式

D. I/O設(shè)備是用來連接CPU、內(nèi)存、外存和各種輸入輸出設(shè)施并協(xié)調(diào)它們工作的一個控制部件

7. .鍵盤、顯示器和硬盤等常用外圍設(shè)備在操作系統(tǒng)啟動時都需要參與工作,所以它們的驅(qū)動程序都必須預(yù)先存放在________中。

A. 硬盤 B. BIOS ROM  C. 內(nèi)存   D. CPU

8.在計算機(jī)加電啟動過程中,1.POST程序、2. 操作系統(tǒng)、3.引導(dǎo)程序、4.自舉裝入程序,這四個部分程序的執(zhí)行順序?yàn)?/span>________

A. 1、2、34  B. 1、32、4  C. 32、41  D. 1、43、2

9.以下關(guān)于操作系統(tǒng)中多任務(wù)處理的敘述中,錯誤的是:________

A. CPU時間劃分成許多小片,輪流為多個程序服務(wù),這些小片稱為"時間片"

B. 由于CPU是計算機(jī)系統(tǒng)中最寶貴的硬件資源,為了提高CPU的利用率,一般采用多任務(wù)處理

C. 正在CPU中運(yùn)行的程序稱為前臺任務(wù),處于等待狀態(tài)的任務(wù)稱為后臺任務(wù)

D.在單CPU環(huán)境下,多個程序在計算機(jī)中同時運(yùn)行時,意味著它們宏觀上同時運(yùn)行,微觀上由CPU輪流執(zhí)行

10.廣域網(wǎng)是一種跨越很廣的的計算機(jī)網(wǎng)絡(luò),下面關(guān)于廣域網(wǎng)的敘述中,正確的是___________

A.廣域網(wǎng)是一種公用計算機(jī)網(wǎng),所有計算機(jī)都可無條件的接入廣域網(wǎng)

B.廣域網(wǎng)使用專門的通信線路,數(shù)據(jù)傳輸更高

C.廣域網(wǎng)能連接任意多的計算機(jī),也能將相距任意距離的計算機(jī)互相連接起來

D.廣域網(wǎng)像很多局域網(wǎng)一樣按廣播方式通信

11.當(dāng)局域網(wǎng)中一臺計算機(jī)向同一網(wǎng)絡(luò)中的另一臺計算機(jī)發(fā)送數(shù)據(jù)幀時,在數(shù)據(jù)幀中必須包含發(fā)送方主機(jī)和接收方主機(jī)的_____________

A.MAC地址   B.IP地址    C.域名   D.計算機(jī)名

12.網(wǎng)絡(luò)服務(wù)是指用戶通過計算機(jī)網(wǎng)絡(luò)在共享資源及數(shù)據(jù)通信方面能夠得到的新增功能,下面關(guān)于網(wǎng)絡(luò)服務(wù)的敘述中,錯誤的是_____________

A.文件服務(wù)允許網(wǎng)絡(luò)用戶使用網(wǎng)絡(luò)上其他計算機(jī)中可共享的程序和數(shù)據(jù)

B.應(yīng)用服務(wù)是指網(wǎng)絡(luò)用戶需要執(zhí)行的某項(xiàng)任務(wù),部分甚至全部可由網(wǎng)上的另一臺計算機(jī)完成

C.連接在網(wǎng)絡(luò)上的計算機(jī)只要有賬號就可以獲得他所需要的服務(wù)

D.消息服務(wù)允許網(wǎng)絡(luò)用戶之間能相互通信,互相傳遞消息

13.以下漢字編碼中,不再我國大陸使用而在臺灣與香港地區(qū)使用的是___________

A.GB18030         B.GBK       C.GB2312          D.BIG5

14.以下關(guān)于圖像與圖形說法錯誤的是_____________

A.圖像獲取的過程實(shí)際上是模擬信號的數(shù)字化過程

B.一幅取樣圖像由M*N個取樣點(diǎn)組成,每個取樣點(diǎn)表示一個像素

C.數(shù)據(jù)壓縮分為無損和有損壓縮,有損壓縮是指對壓縮的圖像還原時,會影響到人們對圖像的正確理解

D.BMP是微軟公司在Windows操作系統(tǒng)下使用的一種標(biāo)準(zhǔn)圖像文件格式

15.以下對數(shù)字聲音的敘述中錯誤的是______________

A.聲音信號的數(shù)字化過程包括:取樣,量化,編碼

B.聲卡既參與聲音的獲取也負(fù)責(zé)聲音的重建

C.聲音的重建是聲音信號數(shù)字化的逆過程,分為三步:解碼,數(shù)模轉(zhuǎn)換,插值處理

D.聲音的獲取設(shè)備包括麥克風(fēng)和聲卡,麥克風(fēng)的作用是把電信號轉(zhuǎn)換為聲波

16.彩色圖像所使用的顏色描述方法稱為顏色模型,顯示器使用的顏色模型為RGB三基色模型,彩色噴墨打印機(jī)在打印彩色圖像時所使用的顏色模型是___________

A.YUV     B.HSB       C.CMYK          D.RGB

17.人們說話時所產(chǎn)生的語音信號必須數(shù)字化之后才能由計算機(jī)存儲和處理,假設(shè)語音信號數(shù)字化時的取樣頻率為8KHZ,量化精度為8位,數(shù)據(jù)壓縮倍數(shù)為4倍,那么1分鐘數(shù)字語音的數(shù)據(jù)量是___________

A960KB     B.480kb         C.120kb         D.60kb

18.把全局E-R模型圖轉(zhuǎn)化稱關(guān)系模式的結(jié)構(gòu),屬于數(shù)據(jù)庫系統(tǒng)設(shè)計的________

A.邏輯結(jié)構(gòu)設(shè)計     B.概念結(jié)構(gòu)設(shè)計     C.物理結(jié)構(gòu)設(shè)計     D.程序結(jié)構(gòu)設(shè)計

19. 下列有關(guān)Windows98/2000/XP操作系統(tǒng)的敘述中,錯誤的是_________________。

 A.任務(wù)欄上的“快速啟動”工具欄可以關(guān)閉。

 B.對于中文版的Windows操作系統(tǒng)來說,任務(wù)欄上顯示的輸入法指示圖標(biāo)不能被關(guān)閉。

 C.即使計算機(jī)未物理連接打印機(jī),也可以安裝多個打印機(jī)驅(qū)動程序。

 D.在“我的電腦”的“屬性”窗口中可以查看當(dāng)前計算機(jī)的內(nèi)存的大小

20. Windows操作系統(tǒng)和Office軟件環(huán)境下操作時,下列操作中不能實(shí)現(xiàn)的是 _____________。

  A.在“Windows資源管理器”窗口中同時選中多個不連續(xù)的文件與文件夾。

  B.Word編輯窗口中同時選定多個不連續(xù)的段落。

  C.Word編輯窗口中同時選定多個繪制的圖形對象。

D.Excel編輯窗口中同時選定多個不連續(xù)的單元格。

 

C程序設(shè)計部分

一:選擇題:

21.當(dāng)需要定義一個函數(shù)時,以下標(biāo)識符中,__________21___________不能用作函數(shù)名。

A.scanf     B.for        C._sum             D.F2

22.已有聲明語句”unsigned char ch;”,與表達(dá)式”ch=’B’”的值不相同的表達(dá)式是_____(22)______(注釋:字符AAscii碼以十進(jìn)制表示為65)

A.ch=0x42        B.ch=0102          C.ch=’\102’           D.ch=066

23.若要對a進(jìn)行++運(yùn)算,則a應(yīng)具有以下說明_______(23)_______

A.int a[3][2]            B.char *a[]={“12”,”ab”};

C.int b[10],*a=b;        D.char  (*a)(char);

24.以下對于break語句使用的正確描述是______(24)___________

A.可以出現(xiàn)在程序中的任何位置         B.只能出現(xiàn)在循環(huán)或switch結(jié)構(gòu)中

C.只能出現(xiàn)在switch結(jié)構(gòu)中             D.只能出現(xiàn)在循環(huán)結(jié)構(gòu)中

25.若有聲明語句”int a=5,b=4,c=3,*p=&a;”,則下列________(25)__________表達(dá)式語句是正確的。

A.(*p)++=c;

B.*(*p)++;

C.printf(a%4= =0?”%3d\n”:”%3d”,*p);

D.a>20?return *p-20:return *p-1;

26.設(shè)”int x=2,y=3,z=(++x<=y--)?((--y= =1)?y--:--y):y--;”,x,y,z的值為____________

A.3,0,1    B.2,0,0   C.3,1,1         D.2,2,1 

27.下列程序段執(zhí)行后的結(jié)果為____(27)__________

main()

{

  struct int a[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2];

  for(x=0;x<3;x++) y+=*(p-4*x);

  printf(“\n%d”,y);

}

A.45  B.33       C.17         D.27

28.設(shè)有函數(shù)f的定義如下;

    void f(int x,int *y)

    {  *y=x*x*x;}

    main()

    {int i,c[4]={1,2,3,4},s[4]={0};

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

    {______________/*調(diào)用f函數(shù)*/

    printf("%d",s[i]);}

    若在main函數(shù)中欲調(diào)用f函數(shù),則正確的調(diào)用語句是 ____(28)______

    A.f(c,s);           B.f(c[i],s[i]);

    C.f(*(c+i),&s[i]);  D.f(c+i,s+i);

29.設(shè)有定義如下;

    typedef stuct{int x,y;}POINT;

    typedef enum{RED,YELLOW,BLUE,GREEN}COLOR;

    struct

    {POINT xy;COLOR c;}pixel,*p=&pixel;

    以下對變量pixel的賦值操作中正確的是  (29)  。

    A.pixel={1,2,BLUE};

    B.P->xy.x=1;p->xy.y=2;p->c=BLUE;

    C.scanf("%d%d%d",P->xy.x,P->xy.y,&pixel.c);

    D.scanf("%d%d,,,&pixel.xy);pixel.color=2;

30.執(zhí)行了以下程序段后,x、w的值為___(30)_________

    int x=0,y=1,z=2,w;

    if(x++) w=x;

    else if(x++&y>=1) w=y;

    else if(x++&&z>1) w=z;

  A.0、1    B.1、1    C.2、1  D.3、2

二、填空題(請將答案填寫在答題紙的相應(yīng)答題號內(nèi),每個答案只占-)

●基本概念題(5)

1.一個用c語言編寫的程序必須有-個并且只能有-_____(1)____函數(shù)。

2.若有定義"int k=1;",執(zhí)行語句"while(k++<5);",k的值為______(2)_____。

3.在程序中需要調(diào)用庫函數(shù)sqrt時必須包含頭文件:_____(3)________  。

4.已知聲明語句:"FILE *fpl,*fp2;long a[2]={12345678,12345678};",當(dāng)執(zhí)行了以下語句

  ,文件f1.datf2.dat長度分別是____(4)_____字節(jié)和____(5)______字節(jié)。

    fpl=fopen("f1.dat","w");fprintf(fpl,"%ld%ld",a[0],a[1]);fclose(fpl);

    fp2=fopen("f2.dat","wb");fwrite(a,sizeof(long),2,fp2);fclose(fp2);

●閱讀程序題(7)

5.以下程序運(yùn)行后輸出____(6)____

    #include<stdio.h>

    int f(char *sl,char *s2)

    {static int nl,n2;

    while(*s1++)n1++;

    while(*s2++)n2++;  

    return n1-n2;

    }

    main()

{printf("%d",f("c:\\program","\12a\t34\n"));}

6?下列程序執(zhí)行后,x的值為____(7)______

   main()

    {int x,y;

    for(x=1,y=1;x<=100;x++) 

    {if(y>=20)break;

    if(y%3==1){y+=3;continue;}

    y-=5;

    }

    printf("%d\n",x);

    }

7.以下程序運(yùn)行時輸出_____(8)________

    #include<stdio.h>

    #include<string.h>

    main()

    {char s[20]="acef",sl[]="bd"

    int i,j,k;

for(k=0;sl[k]!='\0';k++)

{j=0;

    while(sl[k]>=s[j]&&s[j]!='\0')j++;

    for(i=strlen(s);i>=j;i--)s[i+1]=s[i];

    s[j]=sl[k];

  }

    puts(s);

 }

8.以下程序運(yùn)行時輸出結(jié)果的第-行是___(9)_____,第二行是____(10)______。

    int m=5,n=7,a[10]={0,1,2};

    void fl(void);

    void f2(int m);

 

    main()

    { int i;

      for(i=0;i<7;i++)fl();

      f2(1);printf("\n%d,%d",a[m],a[n]);

    }

    void fl(void)

    {static int n=3;

      a[n]=a[n-1]+a[n-2]+a[n-3];n++;

    }

    void f2(int m)

    {for(;m<3;m+=2)

      {int m;

        for(m=1;m<4;m++)

          printf("%d,",a[m++]);

      }

    }

9.以下程序運(yùn)行后輸出結(jié)果的第-行是__(11)_____,第二行是___(12)______

    extern int m1,m2;

    void fun(int n,int *p1,int *p2)

    {int i;

      *p1=1;*p2=1;

      for(i=1;i<=n;i++){*p1+=3;*p2*=3;}

       m1+=*p1;m2+=*p2;

    }

    int m1,m2;

    main()

    {

      int i,k1[4],k2[4];

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

         fun(i,&k1[i],&k2[i]);

      for(i=0;i<4;i++) printf(“%d,”,k1[i]);

      printf(“%d\n”,m1);

      for(i=0;i<4;i++) printf(“%d,”,k2[i]);

      printf(“%d”,m2);

    }

完善程序題(共18分)

10.以下程序中函數(shù)encode完成一個字符串的加密功能,將s1字符串中的字符經(jīng)過變換后保存到s2指向的字符數(shù)組中,二維數(shù)組cs保存了一個明碼密碼對照表,第一行是明碼字符,第二行是對應(yīng)的密碼字符,加密方法如下:從s1字符串中每取一個字符,均在cs表第一行中查找有無該明碼字符,若找到則將對應(yīng)的密碼字符放入s2中,否則將s1中原來的字符放入s2中。

#include <string.h>

#include <stdio.h>

char cs[2][10]={“aceghjlnp”,”fonptiude”};

 

void encode(char *s1, char *s2)

{

  int n,i,j;

  for(n=0;s1[n]!=’\0’;n++)

  {

for(i=0;i<10&&s1[n]!=cs[0][i];_______(13)____)

     if(i<10)  s2[n]=______(14)_____;

     else s2[n]=______15_______;

  }

  s2[n]=’\0’;

}

 

main()

{

  char ts[80]=”jntwrnwt”, td[80];

  encode(ts,td);

  puts(td);

}

11.以下程序依次輸入某單位每位職工的姓名和工資數(shù)(整型數(shù)),然后計算發(fā)放工資時所需

  發(fā)給每位職工的不同面值的紙幣張數(shù),并計算工資總和以及累計所需不同幣值的張數(shù)

    #include<stdio.h>

    #include<string.h>

    struct{

       char name[10];    /*姓名*/

       int total;    /*工資數(shù)*/

       int mnum[7];    /*發(fā)放工資時所需不同幣值的張數(shù)*/

       }st[21];

    int mvalue[7]={100,50,20,10,5,2,1};

 

    main()

    {FILE *fp;

    int n=0,i,j,wage;   

    fp=fopen("wage.dat","r");

    if(fp= =NULL)exit(1);

    while(!feof(fp))

    {fscanf(fp,"%s%d",st[n].name,&st[n].total);

     wage=st[n].total;

     for(j=0;j<7&&wage;j++)

     {st[n].mnum[j]=___(16)_________;

      wage= _____(17)______;

    }

    _________(18)________;

    }

    strcpy(st[n].name,"summary");

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

    {  st[n].total+=st[i].total;

       for(j=0;j<7;j++)

         st[n].mnum[j]+=_____(19)_______;

    }

    for(i=O;i<n+1;i++)

    {printf("\n%s%d=",st[i].name,st[i].total);

      for(j=0;j<7;j++)

         printf("%d",st[i].mnum[j]);

    }

 }

 

12.以下函數(shù)的功能是以十進(jìn)制字符形式打印出任一int函數(shù)

    #include "stdio.h"

 

    void f(int n)   

    {int i;

     if(n<0)

     {putchar('-');____(20)____;}

      if((_____(21)______)!=0)f(i);

      putchar(____(22)_______+'0');

    }

13.以下程序中函數(shù)maxmin的功能是:對于x中存儲的一個任意的四位整數(shù),求出:(1)組成以這個整數(shù)的四個數(shù)字由大到小排列后構(gòu)成的最大的四位數(shù);(2)組成以這個整數(shù)的四個

數(shù)字由小到大排列后構(gòu)成的最小的四位數(shù)。

    #include <stdio.h>   

    void maxmin(int x,int *pmax,int *pmin)

    {int num[4],i,j,k,temp;

     *pmax=0;*pmin=0;

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

    {num[i]=x%10;x=_____(23)_____;}

    for(i=O;i<3;i++)

    {k=i;

      for(j=i+1;j<4;j++)

        if(num[k]<num[j])k=j;

     if(____(24)_____){temp=num[i];num[i]=num[k];num[k]=temp;}

    }

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

    {*pmax=*pmax*10+____(25)____;    /*生成最大的四位數(shù)*/

     *pmin=*pmin*10+ _____(26)_______;    /*生成最小的四位數(shù)*/

    }

  }

    main()

    {int n=3169,max=0,min=O;

     maxmin(n,&max,&min);

     printf("\n%d%d",max,min);

    }

14.設(shè)某鏈表上結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)定義如下:

struct node{

   int x;

   struct node *next;

}  

函數(shù)create的功能是:創(chuàng)建一個有序的鏈表(結(jié)點(diǎn)中x的值按升序排序),鏈表中結(jié)點(diǎn)的個數(shù)為參數(shù)n的值,函數(shù)返回該有序鏈表的頭指針。算法思想如下:每產(chǎn)生一個新的結(jié)點(diǎn),插入到鏈表中的恰當(dāng)位置,使得插入新結(jié)點(diǎn)以后的鏈表仍然保持有序

_______(27)_______create(int n)

{

  struct node *p,*p1,*p2,*h=NULL; int i=0;

  if(n<1)  return NULL;

  while(______(28)________)

  {

    p=(struct  node *) malloc(sizeof(struct node));

    scanf(“%d”,&p->x);p->next=NULL;

    if(h= =NULL)_______(29)____________;

    else

    {p1=p2=h;

     while(p2 &&p->x>=p2->x) {p1=p2;p2=p2->next;}

     if(p2==h){_____(30)____________;h=p;}

     else{p->next=p2;p1->next=p;}

   }

   i++;

   }

 return h;

}

答案:

1.D2.B3.D4.A5.C6.C7.B8.D9.C10.C11.A12.B13.D14.C15.D16.C17.C18.A19.B20.B

21.B 22.D 23.C 24.B 25.C 26.A 27.D 28.C 29.B 30.C

1main  (2)6  3math.h  (4)16  (5)8  (6)4  (7)8  (8)abcdef  (9)1,3

(10)11,37  (11)1,4,7,10,2  (12)1,3,9,27,40  (13)i++  (14)cs[1][i]  (15)s1[n]

(16)wage/mvalue[j]   (17)wage%mvalue[j]  (18)n++  (19)st[i].mnum[j]

(20)n=-n  (21)i=n/10  (22)n%10  (23)x/10  (24)i!=k  (25)num[i]  (26)num[3-i]

(27)struct node *   (28)i<n  (29)h=p   (30)p->next=p2

改錯題目:

下列程序中函數(shù)divfun的功能是對于s指向的一個含有數(shù)字字符和非數(shù)字字符的字符串(串長不超過80),將其中連續(xù)的數(shù)字字符轉(zhuǎn)換為一個整數(shù),如果連續(xù)的數(shù)字字符個數(shù)超過4個,則以4個數(shù)字字符為一組進(jìn)行轉(zhuǎn)換。將轉(zhuǎn)換后生成的整數(shù)一次存放到整型數(shù)組a中。函數(shù)返回a數(shù)組中整數(shù)的個數(shù)。例如:若輸入的字符串”c123yz45! 786 *56abc123456789”,a數(shù)組中的數(shù)值分別為:{123,45,786,56,1234,5678,9}

#include <stdio.h>

#include <ctype.h>

 

void divfun(char *s, int a)

{

  char *p=s;

  int i=0,k,sum;

  while(*p)

           if(isdigit(*p))

           {

        sum=*p-'0';p++;k=1;

                   while(isdigit(*p))

                   {

                            k++;

                            if(k<=4){sum=sum+*p-'0';p++;}

                            else{a[i++]=sum;

                                     k=1;sum=*p-'0';p++;

                            }

                   }

                   a[i++]=sum;

           }

                  

           else p++;

           return i-1;

}

 

main()

{

  char *str;int i,n,num[40];

  gets(str);n=divfun(str,num);

  puts(str);

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

           printf("%6d",num[i]);

  printf("\n");

}

 

編程題目:

編寫函數(shù)int value(int bb[ ]),在三位正整數(shù)中尋找所有符合以下條件的正整數(shù):它既是完全平方數(shù)并且又有兩位數(shù)字相同。例如:14412的平方并且有兩位數(shù)字相同,因此144是符合條件的數(shù)。將找到的數(shù)按從小到大的次序依次存入bb數(shù)組中,函數(shù)返回bb數(shù)組中有效數(shù)據(jù)的個數(shù)

編寫main函數(shù),調(diào)用函數(shù)value,將結(jié)果數(shù)組中全部有效數(shù)據(jù)按照每行5個數(shù)據(jù)的格式保存到文件myf2.out中。

符合上述條件的整數(shù)有:100,121,144,225,400,441,484,676,900

1.將源文件取名為myf2c,輸出結(jié)果文件取名為myf2out。   

2.?dāng)?shù)據(jù)文件的打開、使用和關(guān)閉等操作均用C標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)

實(shí)現(xiàn)。

3.源程序文件和運(yùn)行結(jié)果文件均須保存在T:盤的根目錄下,供閱卷用。

4.不要將myf2objmyf2exe保存到T:盤中。

 

改錯題目答案:

(1) void divfun(char *s, int a) 

    修改為:int divfun(char *s, int a)

(2) void divfun(char *s, int a)

   修改為:int divfun(char *s, int a[ ])

(3) if(k<=4){sum=sum+*p-'0';p++;}

修改為:if(k<=4){sum=sum*10+*p-'0';p++;}

(4) char *str;

    修改為:char str[80];

編程題目答案:

#include <stdio.h>

 

int value(int bb[ ])

{

  int i,i2,j=0,a,b,c;

  for(i=10;i<32;i++)

  {

     i2=i*i;

          a=i2/100;

          b=i2/10%10;

          c=i2%10;

          if((a==b||b==c||c==a)&&!(a==b&&b==c))     /*兩個數(shù)相同*/

                    bb[j++]=i2;

        

  }

  return j;

}

 

main()

{

         int i,n,zz[32]={0};

         FILE *fp;

         if((fp=fopen("myf2.out","w"))==NULL)

         {

       printf("Can't open file!");exit(0);

         }

         n=value(zz);

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

         {

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

                   fprintf(fp,(i+1)%5?"%7d":"%7d\n",zz[i]);

         }

         fprintf(fp,"\n");

         fclose(fp);

}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多