- 試題排行
- 最新熱點(diǎn)
- 最新推薦
2
3
4
5
6
7
8
9
10
2008年上半年軟考軟件設(shè)計(jì)師考試試題(上午)
2008年上半年軟考網(wǎng)絡(luò)工程師考試試題(下午)
2008年上半年軟考軟件設(shè)計(jì)師考試試題(下午)
2008年上半年軟件水平考試程序員考試試題(上
2008年下半年軟考網(wǎng)絡(luò)工程師預(yù)測試題及答案
2008年上半年軟件水平考試程序員考試試題(下
2008下半年軟件水平考試軟件設(shè)計(jì)師押題試卷
08年上半年軟考數(shù)據(jù)庫系統(tǒng)工程師考試試題(上
2008下半年軟件水平考試程序員模擬試題及答
1 一筆畫問題
2 迷宮問題
3 最短路徑問題(就是給出一個(gè)交通示意圖,邊上的數(shù)字為路的長度,求每個(gè)結(jié)點(diǎn)到某個(gè)固定點(diǎn)的最短路程)
4 N個(gè)球稱重問題吧
荷蘭國旗問題????四色定理
3種顏色(0,1,2)在一個(gè)數(shù)組里,每次只可交換一次,掃描一邊后,三種顏色自然分開,應(yīng)為顏色為:紅,白,藍(lán),(荷蘭國旗的顏色)所以叫它荷蘭國旗問題(也是他老人家的國籍)!
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 15
int main(int argc, char* argv[])
{
char array[N];
char t,*p_red_end,*p_write_end,*p_blue_head; //分別為紅色的尾指針、白色的尾指針、藍(lán)色的首指針
int i;
srand( (unsigned)time( NULL ) );
for(i=0;i<N;i++)
{
switch (rand()%3)
{
case 0:
array='r';
break;
case 1:
array='w';
break;
default:
array='b';
}
printf("%c ",array);
}
printf("\n";
for(p_red_end=p_write_end=array,p_blue_head=array+14;p_write_end<=p_blue_head
switch (*p_write_end)
{
case 'r':
t=*p_red_end;
*p_red_end=*p_write_end;
*p_write_end=t;
p_red_end++;
p_write_end++;
break;
case 'b':
t=*p_write_end;
*p_write_end=*p_blue_head;
*p_blue_head=t;
p_blue_head--;
break;
default:
p_write_end++;
}
for(i=0;i<N;i++)
printf("%c ",array);
}
運(yùn)行結(jié)果是:
rrrwwrwwrwbbbbb
這個(gè)結(jié)果是荷蘭國旗算法的結(jié)果嗎?(我不清楚荷蘭國旗算法)
題目最終要求的結(jié)果應(yīng)該是:紅,白,蘭,紅,白,蘭,紅,白,蘭……還是:紅,紅,紅,紅,紅,白,白,白,白,藍(lán),藍(lán),藍(lán),藍(lán),藍(lán)……?
#include "stdio.h"
#define k 15 /*假定數(shù)組有15個(gè)數(shù)*/
char a[k]={'r','w','b','r','r','b','w','w','b','b','b','w','r','r','w'}; /*r,b,w代表紅,藍(lán),白*/
main()
{int i,ii;
char t;
int m,n,p;
m=0; /*m為紅色末尾指針*/
n=0; /*n為白色末尾指針*/
p=14;/*p為藍(lán)紅色頭指針*/
for (ii=0;ii<15;ii++)
printf("%c",a[ii]);
while(n<=p)
{
if (a[n]=='r') {t=a[n];a[n]=a[m];a[m]=t;m++;n++;}
else if (a[n]=='w') n++;
else {
t=a[n];a[n]=a[p];a[p]=t;p--;n++;
if (a[n-1]=='r') {t=a[n-1];a[n-1]=a[m];a[m]=t;m++;}
}
for (i=0;i<15;i++)
prinrf("%s",a[n]);
}
轉(zhuǎn)帖于:軟件水平考試_考試吧
- 推薦給朋友
- 收藏此頁
·網(wǎng)絡(luò)工程師資料:網(wǎng)絡(luò)體系結(jié)構(gòu)-軟考網(wǎng)絡(luò)類題解 (2008-4-25 14:33:38)
·計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及優(yōu)缺點(diǎn)分析 (2008-2-22 14:04:32)
·網(wǎng)絡(luò)工程師必知:靜態(tài)路由協(xié)議配置方法 (2008-2-22 14:03:39)
·計(jì)算機(jī)網(wǎng)絡(luò)尼奎斯特 香農(nóng)公式例題解析 (2008-2-22 14:02:35)
·軟考復(fù)習(xí):因特網(wǎng)IP的分類、尋址規(guī)則及子網(wǎng)掩碼 (2008-2-22 13:57:21)
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。