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

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

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

          1. 網(wǎng)站首頁
            分類導(dǎo)航
            試題中心
            下載中心
            英語學(xué)習(xí)
            繽紛校園
            考試論壇
            網(wǎng)站留言
            客服中心
             南開C語言上機(jī)100題背誦版
            【字體:
            南開C語言上機(jī)100題背誦版
            http://www.eeeigo.com 來源:狂風(fēng)論壇 點(diǎn)擊: 更新:2005-3-29

            南開100題背誦版—舊版
            ---------------------------------------------------------------
            來源:http://ddup.net 作者:張智勇

            *******************************************************************************
            個(gè)十百千位加減并大小排序問題:
              求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt, 再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中, 然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。
            {
            int i,j,k,t;
            for(i=0; i < 300; i++)
            if(a[i]%10-a[i]/1000-a[i]/100%10-a[i]/10%10>0)
            b[cnt++]=a[i];
            for(i=0; i < cnt-1; i++)
            { k=i;
            for(j=i+1; j < cnt; j++)
            if(b[k] < b[j]) k=j;
            if(k!=i) { t=b[k]; b[k]=b[i]; b[i]=t; }
            }
            }
            *******************************************************************************
            個(gè)十百千重新排列,符合條件的數(shù)大小排序問題:
              把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩個(gè)十位數(shù)ab>cd, ab必須是偶數(shù)且能被5整除, cd必須是奇數(shù),同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt。
            void jsVal()
            {
            int i,j,k,A,B,C,D;
            for(i=0; i < MAX; i++)
            { A=a[i]/1000; B=a[i]/10%10; C=a[i]%10; D=a[i]/100%10;
            if(A!=0&&C!=0&&(B==0)&&(D%2!=0)&&(10*A>10*C+D))
            b[cnt++]=a[i];
            }
            for(i=0; i < cnt-1; i++)
            { k=i;
            for(j=i+1; j < cnt; j++)
            if(b[k] < b[j]) k=j;
            if(k!=i) {A=b[k]; b[k]=b[i]; b[i]=A;}
            }
            }
            *******************************************************************************
            求符合條件的數(shù)的總和和平均值問題:
              求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt, 再求出所有滿足此條件的四位數(shù)平均值pjz1, 以及所有不滿足此條件的四位數(shù)平均值pjz2。
            {
            int i;
            for(i=0; i < 300; i++)
            if(a[i]/1000-a[i]/100%10-a[i]/10%10-a[i]%10>0)
            { cnt++; pjz1+=a[i]; }
            else pjz2+=a[i];
            if(cnt) pjz1/=cnt;
            if(cnt<300) pjz2/=300-cnt;
            }
            *******************************************************************************
            求共有幾個(gè)數(shù)以及各位數(shù)相加為基數(shù)的個(gè)數(shù)并求平均值問題:
              1. 求出這文件中共有多少個(gè)正整數(shù)totNum; 2.求出這些數(shù)中的各位數(shù)字之和是奇
            數(shù)的數(shù)的個(gè)數(shù)totCnt, 以及滿足此條件的這些數(shù)的算術(shù)平均值totPjz。
            void Calvalue(void)
            {
            while(xx[totNum]!=0)
            {
            if((xx[totNum]/1000+xx[totNum]/100%10+xx[totNum]/10%10+xx[totNum]
            %10)%2)
            { totCnt++; totPjz+=xx[totNum]; }
            totNum++;
            }
            if(totCnt) totPjz/=totCnt;}
            *******************************************************************************
            報(bào)數(shù)出圈
            void Josegh(void)
            {
            int i,j,s1,w;
            s1=s;
            for(i=1;i<=n;i++)
            p[i-1]=i;
            for(i=n;i>=2;i--)
            {s1=(s1+m-1)%i;
            if(s1==0)
            s1=i;
            w=p[s1-1];
            for(j=s1;j<i;j++)
            p[j-1]=p[j];
            p[i-1]=w;
            }
            }
            *******************************************************************************
            以行為單位對(duì)行中以空格或標(biāo)點(diǎn)符號(hào)為分隔的所有單詞進(jìn)行倒排,同時(shí)去除標(biāo)點(diǎn)符號(hào),之后把已處理的字符串(應(yīng)不含標(biāo)點(diǎn)符號(hào))仍按行重新存入字符串?dāng)?shù)組xx中。
            void StrOL(void)
            {
            int i,j,k,m,n,ll;
            char yy[80];
            for(i=0; i < maxline; i++)
            { ll=strlen(xx[i]); k=n=0;
            for(j=ll-1; j>=0; j- -)
            { if(isalpha(xx[i][j])) k++;
            else
            { for(m=1; m<=k; m++)
            yy[n++]=xx[i][j+m];
            k=0;
            }
            if(xx[i][j]==' ') yy[n++]=' ';
            }
            for(m=1; m<=k; m++)
            yy[n++]=xx[i][j+m];
            /* 上面兩行處理每行的第一個(gè)單詞。如果漏寫,結(jié)果顯然不正確,但并不影響得分。 */
            yy[n]=0;
            strcpy(xx[i],yy);
            }/* 標(biāo)準(zhǔn)答案與此法結(jié)果相比,每行后面多一個(gè)空格。 */
            }
            *******************************************************************************
            以行為單位把字符串中的第一個(gè)字符的ASCII值加第二個(gè)字符的ASCII值, 得到第一個(gè)新的字符, 第二個(gè)字符的ASCII值加第三個(gè)字符的ASCII值,得到第二個(gè)新的字符, 以此類推一直處理到最后第二個(gè)字符, 最后一個(gè)字符的ASCII值加原第一個(gè)字符的ASCII值, 得到最后一個(gè)新的字符, 得到的新字符分別存放在原字符串對(duì)應(yīng)的位置上,之后把已處理的字符串逆轉(zhuǎn)后仍按行重新存入字符串?dāng)?shù)組xx中。
            void ChA(void)
            {/
            int i,j; char ch;
            for(i=0; i < maxline; i++)
            { ch=xx[i][0];
            for(j=0; j < strlen(xx[i])-1; j++)
            xx[i][j]+=xx[i][j+1];
            xx[i][j]+=ch;
            strrev(xx[i]);
            }
            }
            以行為單位依次把字符串中所有小寫字母o 左邊的字符串內(nèi)容移到該串的右邊存放, 然后并把小寫字母o刪除,余下的字符串內(nèi)容移到已處理字符串的左邊存放,之后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中。
            void StrOR(void)
            {
            int i,j; char yy[80],*p;
            for(i=0; i
            for(j=0; j
            if(xx[i][j]=='o')
            { p=&xx[i][j+1];
            strcpy(yy,p);
            strncat(yy,xx[i],j);
            strcpy(xx[i],yy);
            j=0;
            }
            }
            以行為單位把字符串中的最后一個(gè)字符的ASCII值右移4位后加最后第二個(gè)字符的ASCII值, 得到最后一個(gè)新的字符, 最后第二個(gè)字符的ASCII值右移4位后加最后第三個(gè)字符的ASCII值,得到最后第二個(gè)新的字符, 以此類推一直處理到第二個(gè)字符, 第一個(gè)字符的ASCII值加原最后一個(gè)字符的ASCII值, 得到第一個(gè)新的字符, 得到的新字符分別存放在原字符串對(duì)應(yīng)的位置上,之后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中。
            void CharConvA(void)
            {/**/
            int i,j,ll; char ch;
            for(i=0; i < maxline; i++)
            { ll=strlen(xx[i]); ch=xx[i][ll-1];
            for(j=ll-1; j; j--)
            xx[i][j]=(xx[i][j]>>4)+xx[i][j-1];
            xx[i][0]+=ch;
            }
            }
            以行為單位把字符串中的所有小寫字母改寫成該字母的上一個(gè)字母, 如果是字母a, 則改寫成字母z,大寫字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中。
            void ConvertCharD(void)
            {/**/
            int i,j;
            for(i=0; i < maxline; i++)
            for(j=0; j < strlen(xx[i]); j++)
            if(xx[i][j]=='a') xx[i][j]='z';
            else if(islower(xx[i][j])) xx[i][j]-=1;
            }
            *******************************************************************************

            文章錄入:ak48    責(zé)任編輯:ak48  
             版權(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)航  客服中心  友情鏈接   
            Copyright © 2004-2006 考試吧 (eeeigo.com) All Rights Reserved 
            中國科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))