全國計算機等級考試二級C語言上機題1-10

字號:

說明:滿分為100分,60分及格。前兩題為DOS操作題,每題15分,共計30分;后兩題為C語言編程題或調(diào)試題,共計70分; 測試時間60分鐘。
    一、DOS操作題
    1 刪除當前目錄下的目錄ZSF\DAS。
    答案:RD ZSF\DAS
    2 將當前目錄下的目錄KUY\GWE中的文件BTY.EXE改名為KJH.EXE。
    答案:REN KUY\GWE\BTY.EXE KJH.EXE
    二、調(diào)試修改程序題
    下面程序中函數(shù)fun的功能是:根據(jù)整型形參m,計算如下公式的值:y=1+1/2!+1/3!+1/4!+...+1/m!
    例如:若m=6,則應輸出:1.718056。
    請改正函數(shù)fun中的錯誤,使它能得出正確的結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構!
    #include〈conio.h〉
    #include〈stdio.h〉
    / *錯誤在fun函數(shù)中 * /
    double fun(int m)
    {int y=1, t=1;
    int i;
    for(i=2; i〈=m; i++)
    {t=t*1/i; y+= t; }
    return(y);
    }
    main()
    {int n;
    clrscr();
    printf("Enter n: ");
    scanf("%d", &n);
    printf("\nThe result is %1f\n", fun(n));
    }
    答案:對fun子程序進行修改,修改以后的程序如下:
    double fun(int m)
    { double y=1, t=1; /*類型應為 double*/
    int i;
    for(i=2; i〈=m; i++)
    {t=t*1.0/i; y+= t; }
    /* 此處應為 double 類型的數(shù)據(jù)進行運算*/
    return(y);
    } 三、編程題
    請編一個函數(shù)int fun(int pm),它的功能是:判斷pm是否是素數(shù)。若pm是素數(shù),返回1;若不是素數(shù),返回0。pm的值由主函數(shù)從鍵盤讀入。
    請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
    #include 〈conio.h〉
    #include 〈stdio.h〉
    #include 〈math.h〉
    int fun(int a)
    { /*答案開始 */
    ┇
    ┇
    /*答案結束 */
    }
    main() / * 主函數(shù)* /
    { int x;
    clrscr();
    printf("\nPlease enter a number:");
    scanf("%d", &x);
    printf("%d\n", fun(x));
    }
    答案:在函數(shù)fun中添加程序段如下:
    int fun(int a)
    { /*參考答案開始 */
    int i;
    if(a==2) return 1;
    i=2;
    while ((a%i)!=0 && i〈=sqrt((float) a)) i++;
    if ((a%i)==0)
    { printf("%d not is a prime!",a); return 0; }
    printf("%d is a prime!",a); return 1;
    /*參考答案結束 */   }