查看全部128種考試
1
2
3
4
5
6
7
8
9
10
ak47  
【字體: 2005年4月三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)試題匯總(網(wǎng)友回顧)即時(shí)更新中!
2005年4月三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)試題匯總(網(wǎng)友回顧)即時(shí)更新中!

最新更新,截止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 (有些是類(lèi)似題,注意哦)

我抽到的南開(kāi)的第41題,無(wú)憂的第51題

★☆題目41(無(wú)憂id 51  SIX/NINE問(wèn)題)

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

    其中的S,IX,NE各代表一個(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)編寫(xiě)函數(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++;
}
}

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

某網(wǎng)友:

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

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

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


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

void Josegh(void)
{
int i,j,w; 定義一些用于暫時(shí)存放出圈人和循環(huán)變量。
for(i=1;i<=n;i++) 開(kāi)始初始化循環(huán)賦值。
p[i-1]=i;
for(i=n;i>=2;i--) 循環(huán)體開(kāi)始
{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è)

轉(zhuǎn)帖于:計(jì)算機(jī)等級(jí)考試_考試吧
文章搜索  
看了本文的網(wǎng)友還看了:
網(wǎng)友評(píng)論
昵 稱(chēng): *  評(píng) 分: 1分 2分 3分 4分 5分
標(biāo)題:   匿名發(fā)表    (共有條評(píng)論)查看全部評(píng)論>>
版權(quán)聲明 -------------------------------------------------------------------------------------
  如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
Copyright © 2004-2008 考試吧計(jì)算機(jī)等級(jí)考試網(wǎng) All Rights Reserved    
中國(guó)科學(xué)院研究生院權(quán)威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯(lián)盟黃金認(rèn)證  十佳網(wǎng)絡(luò)教育機(jī)構(gòu)  經(jīng)營(yíng)許可證號(hào):京ICP060677