全國(guó)計(jì)算機(jī)等級(jí)二級(jí)C語(yǔ)言上機(jī)編程題題型

字號(hào):

第1題
    函數(shù)fun的功能是:將n個(gè)人員的考試成績(jī)進(jìn)行分段統(tǒng)計(jì),考試成績(jī)放在a數(shù)組中,各分?jǐn)?shù)段的人數(shù)存到b數(shù)組中:成績(jī)?yōu)?0到69的人數(shù)存到b[0]中,成績(jī)?yōu)?0到79的人數(shù)存到b[1],成績(jī)?yōu)?0到89的人數(shù)存到b[2], 成績(jī)?yōu)?0到99的人數(shù)存到b[3],成績(jī)?yōu)?00的人數(shù)存到b[4], 成績(jī)?yōu)?0分以下的人數(shù)存到b[5]中。
    例如,當(dāng)a數(shù)組中的數(shù)據(jù)是:
     93、85、77、68、59、43、94、75、98。
     調(diào)用該函數(shù)后,b數(shù)組中存放的數(shù)據(jù)應(yīng)是:
     1、2、1、3、0、2。
    注意:部分源程序存在文件PROG1.C中。
    請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
     Prog1.c
    #include
    #include
    
    void fun(int a[], int b[], int n)
    {
    
    }
    
    main()
    { int i, a[100]={ 93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6];
     clrscr();
     fun(a, b, 9);
     printf("the result is: ");
     for (i=0; i<6; i++) printf("%d ", b[i]);
     printf("\n");
     NONO();
    }
    
    NONO( )
    {/* 本函數(shù)用于打開(kāi)文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
     FILE *rf, *wf ;
     int a[100], b[6], i, j ;
     rf = fopen("in1.dat", "r") ;
     wf = fopen("bc01.dat","w") ;
     for(i = 0 ; i < 10 ; i++) {
     for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;
     fun(a, b, 9) ;
     for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
     fprintf(wf, "\n") ;
     }
     fclose(rf) ;
     fclose(wf) ;
    }
    
    程序參考答案
    void fun(int a[], int b[], int n)
    {
    int i;
    for (i=0; i<6; i++) b[i] = 0;
    for (i=0; iif (a[i] < 60) b[5]++;
    else b[(a[i]- 60)/10]++;
    } 第2題
    函數(shù)fun的功能是:統(tǒng)計(jì)各年齡段的人數(shù)并存到b數(shù)組中,n個(gè)人員的年齡放在a數(shù)組中。年齡為1到9的人數(shù)存到b[0]中,年齡為10到19的人數(shù)存到b[1],年齡為20到29的人數(shù)存到b[2], 年齡為30到39的人數(shù)存到b[3],年齡為40到49的人數(shù)存到b[4], 年齡為50歲以上的人數(shù)存到b[5]中。
    例如,當(dāng)a數(shù)組中的數(shù)據(jù)為:
     9、18、27、38、59、33、14、75、38。
     調(diào)用該函數(shù)后,b數(shù)組中存放的數(shù)據(jù)應(yīng)是:
     1、2、1、3、0、2。
    注意:部分源程序存在文件PROG1.C中。
    請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
     #include
    #include
    
    void fun(int a[], int b[], int n)
    {
    
    }
    
    main()
    { int i, a[100]={ 9, 18, 27, 38, 59, 33, 14, 75, 38}, b[6];
     clrscr();
     fun(a, b, 9);
     printf("The result is: ");
     for (i=0; i<6; i++) printf("%d ", b[i]);
     printf("\n");
     NONO();
    }
    
    NONO( )
    {/* 本函數(shù)用于打開(kāi)文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
     FILE *rf, *wf ;
     int a[100], b[6], i, j ;
     rf = fopen("in2.dat", "r") ;
     wf = fopen("bc02.dat","w") ;
     for(i = 0 ; i < 10 ; i++) {
     for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;
     fun(a, b, 9) ;
     for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
     fprintf(wf, "\n") ;
     }
     fclose(rf) ;
     fclose(wf) ;
    }
     程序參考答案
    void fun(int a[], int b[], int n)
    {
    int i;
    for (i=0; i<6; i++) b[i] = 0;
    for (i=0; iif (a[i] >= 50) b[5]++;
    else b[a[i]/10]++;
    } 第3題
    函數(shù)fun的功能是:統(tǒng)計(jì)在字符串a(chǎn)中,以下指定字符出現(xiàn)的次數(shù),并存到b數(shù)組中,其中:字符’+’出現(xiàn)的次數(shù)存到b[0]中,字符’-’出現(xiàn)的次數(shù)存到b[1], 字符’*’出現(xiàn)的次數(shù)存到b[2],字符’/’出現(xiàn)的次數(shù)存到b[3], 字符’&’出現(xiàn)的次數(shù)存到b[4],其它字符出現(xiàn)的次數(shù)存到b[5]中。
    例如,當(dāng)a字符串中的字符串為:"-+*1-a/&b"時(shí),
     調(diào)用該函數(shù)后,b中存放的數(shù)據(jù)應(yīng)是:1、2、1、2、1、3。
    注意:部分源程序存在文件PROG1.C中。
    請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
    
    #include
    #include
    #include
    
    void fun(char *a, int b[])
    {
    
    }
    
    main()
    { int i, b[6]; char a[100] = "-+*1/-a/&b";
     clrscr();
     fun(a, b);
     printf("The result is: ");
     for (i=0; i<6; i++) printf("%d ", b[i]);
     printf("\n");
     NONO();
    }
    
    NONO( )
    {/* 本函數(shù)用于打開(kāi)文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
     FILE *rf, *wf ;
     char a[100], *p ;
     int b[6], i, j ;
     rf = fopen("in6.dat", "r") ;
     wf = fopen("bc06.dat","w") ;
     for(i = 0 ; i < 10 ; i++) {
     fgets(a, 99, rf) ;
     p = strchr(a, ’\n’) ;
     if(p) *p = 0 ;
     fun(a, b) ;
     for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
     fprintf(wf, "\n") ;
     }
     fclose(rf) ;
     fclose(wf) ;
    }
    
    程序參考答案
     void fun(char *a, int b[])
    {
    int i;
    for (i=0; i<6; i++) b[i] = 0;
    for (i=0; i< strlen(a); i++)
    switch(a[i])
    { case ’+’: b[0]++; break;
    case ’-’: b[1]++; break;
    case ’*’: b[2]++; break;
    case ’/’: b[3]++; break;
    case ’&’: b[4]++; break;
    default: b[5]++;
    }
    } 第4題
    函數(shù)fun的功能是:把a(bǔ)數(shù)組中的n個(gè)數(shù)和b數(shù)組中逆序的n個(gè)數(shù)一一對(duì)應(yīng)相加,結(jié)果存在c數(shù)組中。
    例如:當(dāng)a數(shù)組中的值是:1、3、5、7、8
    b數(shù)組中的值是:2、3、4、5、8
    調(diào)用該函數(shù)后,c數(shù)組中存放的數(shù)據(jù)是9、8、9、10、10
    注意:部分源程序存在文件PROG1.C中。
    請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
    
    #include
    #include
    
    void fun(int a[], int b[], int c[], int n)
    {
    
    }
    
    main()
    { int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
     clrscr();
     fun(a, b, c, 5);
     printf("The result is: ");
     for (i=0; i<5; i++) printf("%d ", c[i]);
     printf("\n");
     NONO();
    }
    
    NONO( )
    {/* 本函數(shù)用于打開(kāi)文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
     FILE *rf, *wf ;
     int a[100], b[100], c[100], i, j ;
     rf = fopen("in.dat", "r") ;
     wf = fopen("bc01.dat","w") ;
     for(i = 0 ; i < 5 ; i++) {
     for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
     for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
     fun(a, b, c, 5) ;
     for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
     fprintf(wf, "\n") ;
     }
     fclose(rf) ;
     fclose(wf) ;
    }
    
    程序參考答案
    
    void fun(int a[], int b[], int c[], int n)
    {
    int i;
    for (i=0; i}第5題
    函數(shù)fun的功能是:把a(bǔ)數(shù)組中的n個(gè)數(shù)和b數(shù)組中逆序的n個(gè)數(shù)一一相減,結(jié)果存在c數(shù)組中。
    例如:當(dāng)a數(shù)組中的值是:1、3、5、7、8
    b數(shù)組中的值是:2、3、4、5、8
    調(diào)用該函數(shù)后,c數(shù)組中存放的數(shù)據(jù)是-7、-2、1、4、6
    注意:部分源程序存在文件PROG1.C中。
    請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
    Prog1.c
    #include
    #include
    
    void fun(int a[], int b[], int c[], int n)
    {
    
    }
    
    main()
    { int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
     clrscr();
     fun(a, b, c, 5);
     printf("The result is: ");
     for (i=0; i<5; i++) printf("%d ", c[i]);
     printf("\n");
     NONO();
    }
    
    NONO ( )
    {/* 本函數(shù)用于打開(kāi)文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
     FILE *rf, *wf ;
     int a[100], b[100], c[100], i, j ;
     rf = fopen("in.dat", "r") ;
     wf = fopen("bc02.dat","w") ;
     for(i = 0 ; i < 5 ; i++) {
     for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
     for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
     fun(a, b, c, 5) ;
     for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
     fprintf(wf, "\n") ;
     }
     fclose(rf) ;
     fclose(wf) ;
    }
    
    程序參考答案
    void fun(int a[], int b[], int c[], int n)
    {
    int i;
    for (i=0; i}