久久久国产精品秘人口麻豆|永久免费AV无语国产|人成电影免费中文字幕|久久AV嫩草影院2

    1. <dfn id="yitbn"><samp id="yitbn"><progress id="yitbn"></progress></samp></dfn>

          <div id="yitbn"></div>

          1. 網(wǎng)站首頁(yè)
            分類導(dǎo)航
            試題中心
            下載中心
            英語(yǔ)學(xué)習(xí)
            繽紛校園
            考試論壇
            網(wǎng)站留言
            客服中心
             最新全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試必讀
            【字體:
            最新全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試必讀
            http://www.eeeigo.com 來(lái)源:中國(guó)it實(shí)驗(yàn)室 點(diǎn)擊: 更新:2005-3-31 16:28:00



            10.輸入輸出的數(shù)據(jù)類型與所用格式說(shuō)明符不一致。
            例如,a已定義為整型,b定義為實(shí)型
            a=3;b=4.5;
            printf("%f%d\n",a,b);
            編譯時(shí)不給出出錯(cuò)信息,但運(yùn)行結(jié)果將與原意不符。這種錯(cuò)誤尤其需要注意。

            11.輸入數(shù)據(jù)時(shí),企圖規(guī)定精度。
            scanf("%7.2f",&a);
            這樣做是不合法的,輸入數(shù)據(jù)時(shí)不能規(guī)定精度。

            12.switch語(yǔ)句中漏寫(xiě)break語(yǔ)句。
            例如:根據(jù)考試成績(jī)的等級(jí)打印出百分制數(shù)段。
            switch(grade)
            { case 'A':printf("85~100\n");
            case 'B':printf("70~84\n");
            case 'C':printf("60~69\n");
            case 'D':printf("<60\n");
            default:printf("error\n");
            由于漏寫(xiě)了break語(yǔ)句,case只起標(biāo)號(hào)的作用,而不起判斷作用。因此,當(dāng)grade值為A時(shí),printf函數(shù)在執(zhí)行完第一個(gè)語(yǔ)句后接著執(zhí)行第二、三、四、五個(gè)printf函數(shù)語(yǔ)句。正確寫(xiě)法應(yīng)在每個(gè)分支后再加上“break;”。例如
            case 'A':printf("85~100\n");break;

            13..在定義數(shù)組時(shí),將定義的“元素個(gè)數(shù)”誤認(rèn)為是可使的最大下標(biāo)值。
            main()
            {static int a[10]={1,2,3,4,5,6,7,8,9,10};
            printf("%d",a[10]);
            }
            C語(yǔ)言規(guī)定:定義時(shí)用a[10],表示a數(shù)組有10個(gè)元素。其下標(biāo)值由0開(kāi)始,所以數(shù)組元素a[10]是不存在的。

            16.在不應(yīng)加地址運(yùn)算符&的位置加了地址運(yùn)算符。
            scanf("%s",&str);
            C語(yǔ)言編譯系統(tǒng)對(duì)數(shù)組名的處理是:數(shù)組名代表該數(shù)組的起始地址,且scanf函數(shù)中的輸入項(xiàng)是字符數(shù)組名,不必要再加地址符&。應(yīng)改為:
            scanf("%s",str);
            
            1、編一個(gè)函數(shù)fun(char *s),函數(shù)的功能是把字符串中的內(nèi)容逆置。
            例子如:字符串中原有的內(nèi)容為:abcdefg,則調(diào)用該函數(shù)后,串中的內(nèi)容為:gfedcba
            
            fun(char *s)
            { int i=0,t,n=strlen(s);
            for(;s+i{t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}}
            
            注:該題的算法是先分別找出字符串的兩頭,然后同時(shí)逐一往中間移動(dòng),每移動(dòng)一次
            都進(jìn)行兩字符的位置對(duì)換,直到中間字符(用s+i地址,因此要注意把它的內(nèi)容取出再進(jìn)行換位。即先進(jìn)行取內(nèi)容運(yùn)算*)
            
            2、請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符按降序排列。例如,原來(lái)的字符串為CEAedca,排序后輸出為CedcEAa。
            int fun(char *s,int num)
            { int i,j,t;
            for(i=1;ifor(j=i+1;jif(s[i]{ t=s[i];
            s[i]=s[j];
            s[j]=t;}}
            
            該題采用的排序法是選擇法進(jìn)行降序排序,算法是用外for()循環(huán)從字符串的前端往后
            端走動(dòng),每走動(dòng)一個(gè)字符都用內(nèi)嵌的for()循環(huán)在該字符后找出最小的字符與該字符進(jìn)
            行換位。直到外for()循環(huán)走到最后一個(gè)字符。此外,此題還要注意把首尾字符除開(kāi),即
            在最外層for()循環(huán)中從1開(kāi)始,只到num-2即可。
            
            3、請(qǐng)編寫(xiě)一個(gè)unsigned fun(unsigned w),w是一個(gè)大于10的無(wú)符號(hào)整數(shù),若w是n(n>=2)位的整數(shù),函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。例如:w值為5923,則函數(shù)返回923;w值為923則函數(shù)返回23。
            unsigned fun( unsigned w )
            { if(w>=10000) return w%10000;
            if(w>=1000) return w%1000;
            if(w>=100) return w%100;
            return w%10;
            }
            
             注:由于unsigned型整數(shù)在0-65535這間,只要它大于10000則對(duì)10000求余即得出后
            面4位,否則如果大于1000則對(duì)1000求余得出后3位數(shù),這樣一層一層往小的判斷。由于
            return的作用除了返回值以外,還有當(dāng)執(zhí)行到return時(shí)就跳出該程序,所以可以連續(xù)的
            用if()語(yǔ)句。
            
            4、請(qǐng)編一函數(shù)void fun(int tt[M][N],int pp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中,二維數(shù)組中的數(shù)已在主
            函數(shù)中賦予。
            #define M 3
            #define N 4
            void fun(int tt[M][N],int pp[N])
            { int i, j;
            for(i=0;i{ pp=tt[0][i];
            for(j=0;jif(tt[j][i]}}
            
            /*注:該題用for(i=0;ij++)用于控制同列內(nèi)元素的比較。多重循環(huán)的嵌套總是最里層循環(huán)變化最快,即外層循
            環(huán)改變一個(gè)值,內(nèi)層循環(huán)就要循環(huán)完一次,對(duì)于多重循環(huán)一定要好好去體會(huì)和理解,在
            多數(shù)題目中都要用到多重循環(huán)(一般為二重)。*/
            
            5、請(qǐng)編一個(gè)函數(shù)fun,其中n所指存儲(chǔ)單元中存放了數(shù)組中元素的個(gè)數(shù)。函數(shù)的功能是:刪除所有值為y的元素。數(shù)組元素中的值和y的值由主函數(shù)通過(guò)健盤(pán)讀入。
            試題程序。
            #define M 20
            
            void fun (int bb[], int *n,int y)
            { int i,j=0;
            for( i=0; i<*n; i++)
            if(bb[i]!=y) bb[j++]=bb[i];
            *n=j;}
            
            /*注:該題的算法是,用for()循環(huán)控制元素逐一判斷數(shù)組元素是否等于y,若不等則賦
            給新數(shù)bb,由于刪除的關(guān)系j總是小于或等于i,故而可用bb作為新數(shù)組,與第6題相似。
            還要注意*n=j;如果沒(méi)有這個(gè)語(yǔ)句則不能傳回新數(shù)組的個(gè)數(shù),另外也不能換成n=&j
            ;這點(diǎn)是用指針時(shí)常犯的錯(cuò)誤,切記!*/
            
            6、 請(qǐng)編寫(xiě)一個(gè)函數(shù)int fun(int x),它的功能是:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1;否則返回0。
            所謂“同構(gòu)數(shù)”是指這樣的數(shù),它出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù)。x的值由主函數(shù)從健盤(pán)讀入,要求不大于100。
            
            int fun (int x)
            { int xx=x * x;
            if(xx==x//xx%10==x//xx%100==x) return 1;
            else return 0;}
            
            /*注:由“同構(gòu)數(shù)”的定義可得只要求出平方數(shù)或平方數(shù)的最后一位或平方數(shù)的最后兩
            位然后與x進(jìn)行判斷即可,分別求余后即得出平方數(shù)的右邊。*/
            
            7、請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出ss所指字符串中、指定字符的個(gè)數(shù),并返回此值。例如:若輸入字符串:123412132,輸入字符為:1,則輸出:3。
            
            #define M 81
            
            int fun(char *ss,char c)
            {int num=0;
            while(*ss!='\0')
            {if(*ss==c) num++;
            ss++;}
            return(num);}
            
            /* 注:本題用while()循環(huán)來(lái)控制字符的移動(dòng),每移動(dòng)一個(gè)字符都要進(jìn)行判斷(if(*ss
            ==c))是否為指定的字母,若是則個(gè)數(shù)加1。這里要注意如何讓ss指針向下走動(dòng)(ss++)。*/
            
            8、請(qǐng)編寫(xiě)函數(shù)fun,經(jīng)的功能是:求出1到1000之內(nèi)能被7或11整除、但不能同時(shí)補(bǔ)7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。
            
            void fun(int *a,int *n)
            { int i,m=0;
            for(i=1;i<1000;i++)
            if(((i%7==0)//(i%11==0))&&!((i%7==0)&&(i%11==0)))
            {a[m]=i;m+=1;}
            *n=m;
            }
            
             /* 該題關(guān)鍵就是如何表示能被7或11整除,但不能同時(shí)被7和11整除。用(i%7==
            0)//(i%11==0)來(lái)表示能被7或11整除,用 !((i%7==0)&&(i%11==0))來(lái)表示不能同時(shí)被7和11整除。
            
            9、定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun(int a[][N]),函數(shù)的功能是:使數(shù)組第一行元素中的值與最后一行元素中的值對(duì)調(diào)、第二行元素的值與倒數(shù)第二行中的值對(duì)調(diào)、……、其他依次類推。
            
            #define N 5
            fun(int a[][N])
            { int i,m,t;
            for(m=0;mfor(i=0;i{t=a[i][m];
            a[i][m]=a[N-1-i][m];
            a[N-1-i][m]=t;
            }}
            
            /* 外層for()循環(huán)用于控制一列一列地移動(dòng),內(nèi)嵌的forr()循環(huán)用于控制在同一列內(nèi)對(duì)應(yīng)行元素的對(duì)調(diào)。a[i][m]為第m列第i行元素,而a[N-1-i][m]為第m列倒數(shù)第i行的元素,正好需要對(duì)調(diào)。*/
            
            10、 要求程序的功能是:把20個(gè)隨機(jī)數(shù)存入一個(gè)數(shù)組,然后輸出該數(shù)組中的最小值。其中確定最小值的下標(biāo)的操作在fun函數(shù)中實(shí)現(xiàn),請(qǐng)給出該函數(shù)的定義。
            試題程序。
            #include
            #include
            #define VSIZE 20
            int vector[VSIZE];
            int fun(int list[],int size)
            { int i,j=0;
            for(i=1;iif(list[i]j=i;
            return j;
            }
            
            /*注:該題的算法是用一個(gè)變量(j)來(lái)存儲(chǔ)最小值元素的下標(biāo),在循環(huán)過(guò)程中讓每個(gè)元素都與原最小值元素進(jìn)行大小比較。

            上一頁(yè)  [1] [2] 

            文章錄入:xihuyu2000    責(zé)任編輯:admin  
             版權(quán)聲明
               如果本網(wǎng)站所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本網(wǎng)內(nèi)容,請(qǐng)注明出處。
             發(fā)表評(píng)論
            關(guān)于本站 網(wǎng)站聲明 廣告服務(wù)  聯(lián)系方式  付款方式  站內(nèi)導(dǎo)航  客服中心  誠(chéng)聘英才  友情鏈接   
            Copyright © 2004-2007 考試吧 (eeeigo.com) All Rights Reserved 
            中國(guó)科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))