網(wǎng)站首頁(yè)
分類導(dǎo)航
試題中心
下載中心
英語學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
 2005年4月三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)試題匯總(網(wǎng)友回顧)即時(shí)更新中!
【字體:
2005年4月三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)試題匯總(網(wǎng)友回顧)即時(shí)更新中!
http://1glr.cn 來源:考試吧(Exam8.com) 點(diǎn)擊: 更新:2005-4-3 16:53:00

最新更新,截止14:50.
已經(jīng)出現(xiàn)的題目
:1  2 4  6  7  9  10  11  12  14  16  17  21  26  27  29  30 31 32  38 41 44  48  62  65  68  75  77  81  83  85  87 89 92  95  96  100 (有些是類似題,注意哦)

我抽到的南開的第41題,無憂的第51題

★☆題目41(無憂id 51  SIX/NINE問題)

下列程序prog1.c的功能是:計(jì)算出自然數(shù)SIXNINE,它們滿足的條件是SIX+SIX+SIX=NINE+NINE的個(gè)數(shù)cnt以及滿足此條件所有的SIXNINE的和SUM。請(qǐng)編寫函數(shù)countValue()實(shí)現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cntsum,輸出到文件OUT15.DAT中。

    其中的S,I,XN,E各代表一個(gè)十進(jìn)制數(shù)字。

    部分源程序存在文件prog1.c中。

    請(qǐng)勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。

#include <stdio.h>
int cnt,sum;

void countValue()

{ int s,i,x,n,e,six,nine;

  for(s=1;s<10;s++)

   for(i=0;i<10;i++)

    for(x=0;x<10;x++)

     for(n=1;n<10;n++)

      for(e=0;e<10;e++)

       { six=s*100+i*10+x;

         nine=n*1000+i*100+n*10+e;

         if(3*six==2*nine)

          { cnt++;sum+=six+nine;}

       }

}

void main()

{

cnt=sum=0;

countValue();

printf("滿足條件的個(gè)數(shù)=%d\n",cnt);

printf("滿足條件所有的SIXNINE的和=%d\n",sum);

writeDat();

}

writeDat()

{

FILE *fp;

fp=fopen("OUT15.DAT","w");

fprintf(fp,"%d\n%d\n",cnt,sum);

fclose(fp);

}

另一種經(jīng)典解法:

void countValue()

{ int i;

  for(i=666;i<=999;i=i+2)

    if((i/10%10==(3*i/2)/100%10)&&((3*i/2)/1000==(3*i/2)%100/10))

      {cnt++;sum+=i+3*i/2;}

}

運(yùn)算結(jié)果為:

滿足條件的個(gè)數(shù)=4

滿足條件所有的SIXNINE的和=9430

某網(wǎng)友:

抽到第一題

題目1:下列程序的功能是:將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入數(shù)組xx。請(qǐng)編寫函數(shù)num(int m,int k,int xx[])實(shí)現(xiàn)函數(shù)的要求 ,最后調(diào)用函數(shù)readwriteDAT()把結(jié)果輸出到文件out.dat中。
例如:若輸入17,5,則應(yīng)輸出:19,23,29,31,37。
注意:部分源程序已給出。
請(qǐng)勿改動(dòng)主函數(shù)main()和函數(shù)readwriteDAT()的內(nèi)容void num(int m,int k,int xx[])
{int data=m+1;
int half,n=0,I;
while(1)
{half=data/2;for(I=2;I<=half;I++)
if(data%I==0)break;
if(I>half)
{xx[n]=data;n++;}
if(n>=k)break;
data++;
}
}

開始把
data%I==0 的I打成 !了 驚了一身冷汗!
幸虧發(fā)現(xiàn)!
呵呵
運(yùn)行結(jié)果正確
交卷程序?qū)Φ脑捑蜎]問題了

某網(wǎng)友:

我抽到出圈的題
是個(gè)200個(gè)四位數(shù)的,就是亂換位,然后不能被5整除,然后統(tǒng)計(jì)個(gè)數(shù),排序。大概這個(gè)意思的,查了南開100題,沒有一模一樣的,只有相像的。幸虧我們考場(chǎng)松,我的朋友替我考的,結(jié)果大概是12個(gè)符合要求的,有人抽到這題馬?類似南開52題

****************************************************************************************
關(guān)于出圈題的詳細(xì)解答(希望對(duì)大家有所幫助)
出圈題的詳細(xì)解答
南開第57題:
解題思路:
題目中已經(jīng)給出了算法過程,我們下面就看看怎么用代碼實(shí)現(xiàn):
(1)將1到n個(gè)人的序號(hào)存入一維數(shù)組p中;
這個(gè)我想大家應(yīng)該都沒有問題的了:很簡(jiǎn)單的一句循環(huán)賦值。
for(i=1;i<=n;i++)p[i-1]=i;
(2)若第i個(gè)人報(bào)數(shù)后出圈,則將p[i]置于數(shù)組的倒數(shù)第i個(gè)位置上,而原來第i+1個(gè)至倒數(shù)第i個(gè)元素依次向前移動(dòng)一個(gè)位置;
(3)重復(fù)第(2)步直至圈中只剩下p[1]為止。
難點(diǎn)就在這后面兩步,首先可以看出是要做一個(gè)循環(huán),而且循環(huán)的條件是遞減
馬上可以先寫出一個(gè)循環(huán)遞減的框架
for(i=n;n>1;n--){}
接下來就是該怎么寫循環(huán)體的內(nèi)容了:我們可以發(fā)現(xiàn),題目的算法過程2描述的很清楚,具體如下:
s=(s+m-1)%i;首先,求出出圈人的位置,這里用一個(gè)求余是為了實(shí)現(xiàn)圈循環(huán)(也就是將隊(duì)列頭尾相連),這里i是圈中剩余的人數(shù)(除去出圈后的人)。 當(dāng)然,我們稍微注意一下,那就是沒有第0位的出圈人存在,所以這里如果s=0是不對(duì)的,
其實(shí)這種情況是出圈人是隊(duì)尾的那一個(gè)人,所以這里加上一個(gè)判斷:
if(s==0)s=i;
好了,我們?nèi)〉搅顺鋈θ说奈恢昧耍俏覀兙鸵?BR>"則將p[i]置于數(shù)組的倒數(shù)第i個(gè)位置上,而原來第i+1個(gè)至倒數(shù)第i個(gè)元素依次向前移動(dòng)一個(gè)位置"
實(shí)現(xiàn)這一句的算法過程的代碼,可以看出也是一個(gè)循環(huán):
w=p[s-1]; 首先,把出圈人的號(hào)碼暫時(shí)放起來(因?yàn)榇藭r(shí)倒數(shù)第i個(gè)位置還有人占據(jù),不能替換掉)
接著我們要把倒數(shù)第i個(gè)位置騰空出來,
而這個(gè)算法的實(shí)現(xiàn)就是“第i+1個(gè)至倒數(shù)第i個(gè)元素依次向前移動(dòng)一個(gè)位置”
明白了這句話的意思后,馬上可以寫出下面的一個(gè)循環(huán)代碼來實(shí)現(xiàn)
for(j=s;j<i;j++)p[j-1]=p[j];出圈人的位置讓給他的下一位,依次類推,最后騰出倒數(shù)第i個(gè)位置給出圈人。

最后出圈人占據(jù)倒數(shù)第i個(gè)位置:p[i-1]=w;(注意這里第i個(gè)位置在數(shù)組中下標(biāo)是i-1,因?yàn)閿?shù)組下標(biāo)是0開始的,^_^)


到這里為止,循環(huán)體也寫完了,整合起來,就可以得到下面的完整函數(shù)代碼了:

void Josegh(void)
{
int i,j,w; 定義一些用于暫時(shí)存放出圈人和循環(huán)變量。
for(i=1;i<=n;i++) 開始初始化循環(huán)賦值。
p[i-1]=i;
for(i=n;i>=2;i--) 循環(huán)體開始
{s=(s+m-1)%i; 尋找出圈人
if(s==0)
s=i;
w=p[s-1]; 暫時(shí)安置出圈人
for(j=s;j<i;j++) 給出圈人騰位置
p[j-1]=p[j];
p[i-1]=w; 重新安置出圈人
}
}

 

[1] [2] [3] [4] 下一頁(yè)

文章錄入:admin    責(zé)任編輯:ak47  
 版權(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)論
Copyright © 2004-2007 考試吧 (Exam8.com) All Rights Reserved 
中國(guó)科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))