亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        2013計(jì)算機(jī)二級(jí)C語言上機(jī)練習(xí)題及答案(23)

        字號(hào):

        為大家收集整理了《2013計(jì)算機(jī)二級(jí)C語言上機(jī)練習(xí)題及答案(23)》供大家參考,希望對(duì)大家有所幫助?。。?BR>    填空題
            給定程序中,函數(shù)fun的功能是:找出N×N矩陣中每列元素中的值,并按順序依次存放于形參b所指的一維數(shù)組中。
            請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。
            注意:源程序存放在考生文件夾下的BLANK1.C中。
            不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
            給定源程序:
            #include
            #define N 4
            void fun(int (*a)[N], int *b)
            { int i,j;
            for(i=0; i
            /
            b[i]= __1__;
            for(j=1; j
            if(b[i] __2__ a[j][i]) b[i]=a[j][i];
            }
            }
            main()
            { int x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j;
            printf("\nThe matrix :\n");
            for(i=0;i
            { for(j=0;j
            printf("\n");
            }
            fun(__3__);
            printf("\nThe result is:");
            for(i=0; i
            printf("\n");
            }
            解題思路:
            第一處:把每列的第1值賦值給b[i],所以應(yīng)填:a[0][i]。
            第二處:如果b[i]值小于a[j][i]的值,則把a(bǔ)[j][i]重新賦值給b[i]中,保存的值, 所以應(yīng)填:<。
            第三處:在主函數(shù)中,x是存放矩陣數(shù)據(jù),y是存放每列的值,所以應(yīng)填:x,y。
            改錯(cuò)題
            給定程序MODI1.C中函數(shù)fun的功能是: 交換主函數(shù)中兩個(gè)變量的值。例如: 若變量a中的值原為8,b中的值為3。程序運(yùn)行后a中的值為3, b中的值為8。
            請(qǐng)改正程序中的錯(cuò)誤, 使它能計(jì)算出正確的結(jié)果。
            注意: 不要改動(dòng) main 函數(shù), 不得增行或刪行, 也不得更改程序的結(jié)構(gòu)!
            給定源程序:
            #include
            int fun(int x,int y)
            {
            int t;
            t=x;x=y;y=t;
            }
            main()
            {
            int a,b;
            a=8;b=3;
            fun(&a,&b);
            printf("%d, %d\n",a,b);
            }
            解題思路:
            第一處:函數(shù)形參定義不正確,在定義第2個(gè)形參時(shí),也應(yīng)加上int。由于通過該函數(shù)實(shí)現(xiàn)兩數(shù)交換,在C語言中,必須交換地址中的值,所以應(yīng)定義為int *x,int *y。
            第二處:要交換地址中的值,不能交換地址,必須指定地址中的值,因此應(yīng)改為
            t=*x;*x=*y;*y=t;。
            編程題
            編寫函數(shù)fun, 函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中, 函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù)。函數(shù)fun中給出的語句僅供參考。
            注意:部分源程序在文件PROG1.C中。
            請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
            給定源程序:
            #include
            #define MAX 100
            int fun(int lim, int aa[MAX])
            {  http://ks.exam8.com
            int i,j,k=0;
            /* 其中變量k用于統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù) */
            for(i=2;i<=lim;i++)
            {
            /* 以下完成判斷aa數(shù)組中小于或等于lim的素?cái)?shù)并統(tǒng)計(jì)個(gè)數(shù) */
            }
            return k;
            }
            main()
            {
            int limit, i, sum;
            int aa[MAX] ;
            printf("輸入一個(gè)整數(shù)");
            scanf("%d", &limit);
            sum=fun(limit, aa);
            for(i=0 ; i < sum ; i++) {
            if(i % 10 == 0 && i != 0) printf("\n") ;
            printf("%5d", aa[i]) ;
            }
            NONO();
            }
            解題思路:
            本題是考察考生如何判斷一個(gè)數(shù)是素?cái)?shù),再求出所有小于lim數(shù)的素?cái)?shù)并存入數(shù)組aa中保存,最后由形參aa返回,素?cái)?shù)的個(gè)數(shù)由函數(shù)值返回。
            參考答案:
            int fun(int lim, int aa[MAX])
            {
            int i,j,k=0;
            /* 其中變量k用于統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù) */
            for(i=2;i<=lim;i++)
            {
            /* 以下完成判斷aa數(shù)組中小于或等于lim的素?cái)?shù)并統(tǒng)計(jì)個(gè)數(shù) */
            for(j = 2 ; j <= (i/2) ; j++)
            if(i % j == 0) break;
            if(j > (i/2)) aa[k++] = i;
            }
            return k;
            }