• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    1999年度初級程序員級 下午試卷

    發布: 2007-5-26 13:59 | 作者: 未知 | 來源: 互聯網 | 查看: 68次 | 進入軟件測試論壇討論

    領測軟件測試網 (考試時間 14:00-16:00  共120分鐘)

    請按下述要求正確填寫答卷,若不按下述要求解答,將不分數

    1.在答卷的指定位置填寫你所在的省、自治區、直轄市、計劃單列市的名稱。

    2.在答卷的指定位置填寫準考證編號、出生年月日和姓名。

    3.答卷上除填寫上述內容外只能寫解答。

    4.本試卷的4道試題都是必答題,請全部解答。

    5.解答時字跡務必清楚,字跡不清時,將不評分。

    6.仿照下面例題,將解答寫在答卷的對應欄內。

      

    例題

    一九九九年度舉行的計算機軟件專業技術資格和水平考試的日期是2000年(1)1)月(2)日。

    因為正確的答案是4月16日,故在答卷的對應欄內寫上‘4’和‘16’(參看下表)。

    例  題
    解 答 欄

    (1)
    4

    (2)
    16


      

    試題 一

    閱讀以下C代碼,將應填入(n)n)處的字句寫在答卷的對應欄內。

    【程序1.1】

    #include <stdio.h>

    main()

    { struct num{ int x; int y;

    } sa[] = {{2, 32}, {8, 16}, {4, 48};

    struct num *p = sa+1;

    int x;

    x = p->y / sa[0].x * ++p->x;

    printf(″x = %d p->x = %d\n″, x, p->x);

    }

    程序1.1的輸出結果是(1) 。

    【程序1.2】

    #include <stdio.h>

    int p(int k, int a[])

    { int m, i, c = 0;

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

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

    if (!(m % i)) break;

    if (i == m) a[c++] = m;

    }

    return c;

    }

    #define MAXN 20

    main()

    { int i, m, s[MAXN];

    m = p(13, s);

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

    printf(″%4d\t″, s[i]);

    printf(″\n″);

    }

    程序1.2的輸出結果是(2) ;函數int p(int k, int a[])的功能是(3) 。

    【程序1.3】

    #include <stdio.h>

    void s(int a[], int n)

    { int i, j, t;

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

    for(t = a[i], j = i-1; j >= 0 && t < a[j]; j--)

    a[j+1] = t;

    }

    }

    main()

    { int i, c[] = { 15, 3, 8, 9, 6, 2};

    s(c, 6);

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

    printf(″%4d\t″, c[i]);

    printf(″\n″);

    }

    程序1.3的輸出結果是(4) ;函數s(int a[], int n)的功能是(5) 。

    試題 二

    閱讀下列程序說明和C代碼,將應填入(n)處的字句寫在答卷的對應欄內。

    【程序2.1說明】

    程序2.1求以下級數和的近似值,約定求和的精度為0.000001。

                 x3          x5         x7


          
          


    s(x) = x –        +        -        + ……

                3*1!     5*2!     7*3!

    【程序2.1】

    #include <stdio.h>

    #include <math.h>

    #define Epsilon 0.000001

    main()

    { int i; double s, x, t;

    printf(″Enter x.\n″); scanf(″%1f″, &x);

    s = 0.0; t = x; i = 0;

    while (fabs(t) >= Epsilon) {

    s =(1); i++;

    t =  -t * x * x * (2) /((2 * i + 1) * i);

    }

    printf(″s(%f) = %f\n″, x, s);

    }

    【程序2.2說明】

    本程序中有函數rep(char *s, char *sl, char *s2),其形參字符串sl和s2有相同的字符個數,且sl中各字符互不相同。該函數實現將已知字符串s中所有在字符串sl中也出現的字符都用字符串s2中的對應位置的字符代替。例如:設字符串s、sl和s2分別為:

    s[ ] = ″ABCABC″, sl[ ] = ″AC″, s2[ ] = ″ZX″

    則s2中的字符Z和X分別對應sl中的字符A和C,函數調用rep(s, sl, s2)將字符串s的內容變為″ZBXZBX″。

    【程序2.2】

    #include <stdio.h>

    void rep(char *s, char *sl, char *s2)

    { char *p;

    for( ; s; s++) { /* 順序考察s中的各個字符 */

    for( ; s; s++; p &&(3); p++); /* 找 *s是否在sl中出現 */

    if ( (4) ) s = *(s2+ (5) ); /* 找到,用s2中的對應字符替代 */

    }

    }

    main()

    { char s[] = ″ABCABC″;

    rep(s, ″AC″, ″ZX″); printf(″%s\n″, s);

    }

      

    試題 三

    閱讀下列程序說明和C,將應填入(n)處的字句寫在答卷的對應欄內。

    【程序3說明】

    本程序從鍵盤讀入整數,并按從大到小的順序輸出輸入整數中互不相等的那些整數。

    程序一邊讀入整數,一邊構造一個從大到小順序鏈接的鏈表,直至不能從鍵盤讀入整數,然后順序輸出鏈表上各表元的整數值。主函數每讀入一個整數,就調用函數insert( ),函數insert( )將還未出現在鏈表上的整數按從大到小的順序插入到鏈表中。

    為了插入方便,鏈表在表首有一個輔助表元。

    【程序3】

    #include <stdio.h>

    #include <malloc.h>

    typedef struct node { int val;

    struct node *next;

    } NODE;

    void insert(NODE *list, int x)

    { NODE *u, *v, *p;

    u = list; v = u->next;

    while ((1)&& x < v->val) /* 尋找插入位置 */

    { u = v; v = v->next; }

    if (v == NULL || (2)) { /* 判是否要插入新表元 */

    p = (NODE *)malloc(sizeof(NODE)); P->val = x; /* 生成新表元 */

    (3) = v; (4) = p; /* 插入新表元 */

    }

    }

    main( )

    { int x;

    NODE *head, *p;

    /* 首先建立只有輔助表元的空鏈表 */

    head = (NODE *)malloc(sizeof(NODE));

    (5) = NULL;

    printf(″Enter integers: \n″);

    while (scanf(″%d″, &x) == 1) /* 反復讀入整數插入鏈表 */

    insert(head, x);

    for(p =head->next; p !=NULL; p=p->next)

    printf(″%d\t″, p->val);

    printf(″\n\n″);

    }

      

    試題 四

    閱讀下列程序說明和C代碼,將應填入 (n) 處的字句寫在答卷的對應欄內。

    【程序4說明】

    本程序對給定的n(n≤100),計算并輸出k!(k = 1, 2, …, n)的全部有效數字,因k!的值可能很大,故采用一維數組存儲計算結果。設數組的每個元素存儲k!的一位數字,并約定從低位到高位依次存于數組的第一個位置、第二個位置、……。例如,5。 120,在數組a中的存儲形式為:

                                a[2] a[1] a[0]

                  
       …
       
       1
       2



    程序中,計算k!采用對已求得的(k-1)!的結果連續累加k-1次后求出。例如,4! = 24, 則計算5!對原來的24再累加4次24后得到120。為了控制累加的位數,另引入整型變量c用于記錄當前(k-1)!的位數。

    【程序4】

    #include <stdio.h>

    #define MAXN 1000

    int a[MAXN], b[MAXN];

    void pnext( int k, int *cp)/* 已知a[ ]中的(k-1)!,求出k!存于a[ ].*/

    { int c = *cp, i, m, r;

    for(i = 0; i < c; i++) b[i] = a[i];

    a[c] = 0;

    for(m = 1; m < k; m++) /* 通過累加求k! */

    for(i = 0; i < c; i++) {

    r = (1) ; a[i] = r % 10; (2) += r/10;

    }

    /* 處理最高位進位 */

    r = a[c];

    while (r>0) { a[ (3) ] = r%10; r = r/10; }

    (4) = c;

    }

    void write(int *a, int k, int c)

    {    int i;

    printf(″%4d!=″, k);

    for(i = (5) ; i >= 0; i--) printf(″%d″, a[i]);

    printf(″\n\n″);

    }

    main()

    { int n, c, k ;

    printf(″Enter the number n(<=100):″); scanf(″%d″, &n);

    a[0] = 1; c = 1; write(a, l, c);

    for(k = 2; k <= n; k++) {

    pnext(k, &c);  write(a, k, c);  getchar();

    }

    }
     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>