欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語(yǔ)言迷宮代碼 go語(yǔ)言nil

Go語(yǔ)言基礎(chǔ)語(yǔ)法(一)

本文介紹一些Go語(yǔ)言的基礎(chǔ)語(yǔ)法。

創(chuàng)新互聯(lián)專注于紅古企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城開(kāi)發(fā)。紅古網(wǎng)站建設(shè)公司,為紅古等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

先來(lái)看一個(gè)簡(jiǎn)單的go語(yǔ)言代碼:

go語(yǔ)言的注釋方法:

代碼執(zhí)行結(jié)果:

下面來(lái)進(jìn)一步介紹go的基礎(chǔ)語(yǔ)法。

go語(yǔ)言中格式化輸出可以使用 fmt 和 log 這兩個(gè)標(biāo)準(zhǔn)庫(kù),

常用方法:

示例代碼:

執(zhí)行結(jié)果:

更多格式化方法可以訪問(wèn)中的fmt包。

log包實(shí)現(xiàn)了簡(jiǎn)單的日志服務(wù),也提供了一些格式化輸出的方法。

執(zhí)行結(jié)果:

下面來(lái)介紹一下go的數(shù)據(jù)類(lèi)型

下表列出了go語(yǔ)言的數(shù)據(jù)類(lèi)型:

int、float、bool、string、數(shù)組和struct屬于值類(lèi)型,這些類(lèi)型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類(lèi)型,存儲(chǔ)的是一個(gè)地址,這個(gè)地址存儲(chǔ)最終的值。

常量是在程序編譯時(shí)就確定下來(lái)的值,程序運(yùn)行時(shí)無(wú)法改變。

執(zhí)行結(jié)果:

執(zhí)行結(jié)果:

Go 語(yǔ)言的運(yùn)算符主要包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符以及指針相關(guān)運(yùn)算符。

算術(shù)運(yùn)算符:

關(guān)系運(yùn)算符:

邏輯運(yùn)算符:

位運(yùn)算符:

賦值運(yùn)算符:

指針相關(guān)運(yùn)算符:

下面介紹一下go語(yǔ)言中的if語(yǔ)句和switch語(yǔ)句。另外還有一種控制語(yǔ)句叫select語(yǔ)句,通常與通道聯(lián)用,這里不做介紹。

if語(yǔ)法格式如下:

if ... else :

else if:

示例代碼:

語(yǔ)法格式:

另外,添加 fallthrough 會(huì)強(qiáng)制執(zhí)行后面的 case 語(yǔ)句,不管下一條case語(yǔ)句是否為true。

示例代碼:

執(zhí)行結(jié)果:

下面介紹幾種循環(huán)語(yǔ)句:

執(zhí)行結(jié)果:

執(zhí)行結(jié)果:

也可以通過(guò)標(biāo)記退出循環(huán):

--THE END--

數(shù)據(jù)結(jié)構(gòu)迷宮問(wèn)題(c語(yǔ)言)

#includestdio.h

#includestring.h

#includestdlib.h

#includetime.h

int m,n,num,map[101][101],f[101][101],a[101],b[101],d[2][4]={0,-1,0,1,-1,0,1,0},ans,flag;

void maze()

{

int i,j;

time_t t;

srand(time(t));

for(i=0;im;i++)

for(j=0;jn;j++)

{

map[i][j]=rand()%2;

if(map[i][j])

num++;

}

if(numm*n/2)

{

for(i=0;im;i++)

for(j=0;jn;j++)

if(!map[i][j])

map[i][j]+=rand()%2;

}

map[0][0]=1;

map[m-1][n-1]=1;

}

void print()

{

int i,j;

for(i=0;im;i++)

for(j=0;jn;j++)

{

printf("%d ",map[i][j]);

if(j==n-1)puts("");

}

}

void dfs(int x,int y)

{

int i,tx,ty;

if(!flag)

return;

for(i=0;i4;i++)

{

tx=x+d[0][i];

ty=y+d[1][i];

if(!f[tx][ty]tx=0ty=0txmtynmap[tx][ty])

{

f[tx][ty]=1;

a[ans]=tx;

b[ans++]=ty;

if(tx+ty==0)

{

printf("(%d,%d)\n",m,n);

for(flag=i=0;ians;i++)

printf("(%d,%d)\n",a[i]+1,b[i]+1);

return;

}

dfs(tx,ty);

f[tx][ty]=0;

ans--;

}

}

}

int main()

{

while(scanf("%d%d",m,n),m+n)

{

memset(f,0,sizeof(f));

num=ans=0;

flag=1;

maze();

print();

dfs(m-1,n-1);

if(flag)

puts("There is no path");

}

return 0;

}

c語(yǔ)言的迷宮問(wèn)題

//尋路_帶權(quán)重_帶障礙_最短_文件地圖_不閃------wlfryq------//

#include?stdio.h

#include?stdlib.h

#include?string.h

#include?windows.h

typedef?struct

{

int?x;

int?y;

}?_PT;

_PT?pt;

int?row=0,col=0;

//設(shè)置CMD窗口光標(biāo)位置

void?setxy(int?x,?int?y)

{

COORD?coord?=?{x,?y};

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),?coord);

}

//獲取當(dāng)前CMD當(dāng)前光標(biāo)所在位置

void?getxy()

{

HANDLE?hConsole?=?GetStdHandle(STD_OUTPUT_HANDLE);

COORD?coordScreen?=?{0,?0};?//光標(biāo)位置

CONSOLE_SCREEN_BUFFER_INFO?csbi;

if?(GetConsoleScreenBufferInfo(hConsole,?csbi))

{

pt.x=csbi.dwCursorPosition.X;

pt.y=csbi.dwCursorPosition.Y;

}

}

typedef?struct

{

int?x;

int?y;

int?type;

int?v;

}PT;

PT?**s=NULL,stack[50],start,end,c;

int?pos=0;

void?prt()

{

int?i,j;

system("cls");

for(i=0;irow;i++)

{

for(j=0;jcol;j++)

{

if(s[i][j].type==1)

{

printf("■");

}

else?if(i==end.x??j==end.y)

{

printf("★");

}

else?if(i==c.x??j==c.y)

{

printf("◎");

}

else

{

printf("??");

}

}

printf("\n");

}

Sleep(500);

}

void?stack_in(PT?a)

{

stack[pos++]=a;

}

PT?stack_out()

{

int?i;

PT?t;

t=stack[0];

for(i=0;ipos-1;i++)

{

stack[i]=stack[i+1];

}

pos--;

return?t;

}

void?fun()

{

PT?a;

int?x,y,v;

while(1)

{

if(pos==0)

{

break;

}

a=stack_out();

x=a.x;

y=a.y;

if(x==start.x??y==start.y)

{

break;

}

v=s[x][y].v;

if(x-1=0??s[x-1][y].type==0??(s[x-1][y].v==-1?||?s[x-1][y].vv+1))

{

s[x-1][y].v=v+1;

stack_in(s[x-1][y]);

}

if(x+1=row-1??s[x+1][y].type==0??(s[x+1][y].v==-1?||?s[x-1][y].vv+1))

{

s[x+1][y].v=v+1;

stack_in(s[x+1][y]);

}

if(y-1=0??s[x][y-1].type==0??(s[x][y-1].v==-1?||?s[x-1][y].vv+1))

{

s[x][y-1].v=v+1;

stack_in(s[x][y-1]);

}

if(y+1=col-1??s[x][y+1].type==0??(s[x][y+1].v==-1?||?s[x-1][y].vv+1))

{

s[x][y+1].v=v+1;

stack_in(s[x][y+1]);

}

}

}

void?go(int?x,?int?y)

{

printf("\n按任意鍵開(kāi)始\n");

getchar();

int?v;

while(1)

{

if(x==end.x??y==end.y)

{

setxy(0,y+2);

printf("end....");

return;

}

v=s[x][y].v;

if(v==0)

{

return;

}

if(x-1=0??s[x-1][y].v==v-1)

{

c=s[x-1][y];

setxy(y*2,x);

x=x-1;

printf("??");

setxy(y*2,x);

printf("◎");

Sleep(500);

continue;

}

else?if(x+1=row-1??s[x+1][y].v==v-1)

{

c=s[x+1][y];

setxy(y*2,x);

x++;

printf("??");

setxy(y*2,x);

printf("◎");

Sleep(500);

continue;

}

else?if(y-1=0??s[x][y-1].v==v-1)

{

c=s[x][y-1];

setxy(y*2,x);

y--;

printf("??");

setxy(y*2,x);

printf("◎");

Sleep(500);

continue;

}

else?if(y+1=col-1??s[x][y+1].v==v-1)

{

c=s[x][y+1];

setxy(y*2,x);

y++;

printf("??");

setxy(y*2,x);

printf("◎");

Sleep(500);

continue;

}

}

printf("\nreturn?go\n");

system("pause");

}

void?GetMapFromFile()

{

int?i,j,x,y,len;

char?ch[50]={'\0'};

FILE*?fp=fopen("e:\\map1.txt","r");

if(fp==NULL)

{

printf("open?file?failed.\n");

return;

}

x=0;

while(!feof(fp))

{

fgets(ch,50,fp);

row++;

}

col=strlen(ch);

fseek(fp,0L,SEEK_SET);

while(!feof(fp))

{

fgets(ch,50,fp);

if(s==NULL)

{

len=strlen(ch);

for(i=len-1;i0;i--)

{

if(ch[i]!='0'??ch[i]!='1')

{

ch[i]='\0';

}

else

{

break;

}

}

len=strlen(ch);

s=(PT**)malloc(sizeof(PT*)*row);

for(j=0;jlen;j++)

{

*(s+j)=(PT*)malloc(sizeof(PT)*len);

}

}

y=0;

for(i=0;ilen;i++)

{

s[x][y].type=ch[i]-48;

s[x][y].x=x;

s[x][y].y=y;

s[x][y].v=-1;

y++;

}

x++;

}

start=s[row-2][1];

end=s[row-2][len-2];

fclose(fp);

}

int?main()

{

GetMapFromFile();

int?i,j;

int?x,y;

x=end.x;

y=end.y;

s[x][y].v=0;

stack_in(end);

fun();

c=start;

prt();

go(start.x,start.y);

return?0;

}

當(dāng)前題目:go語(yǔ)言迷宮代碼 go語(yǔ)言nil
文章起源:http://chinadenli.net/article44/dojigee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航外貿(mào)建站網(wǎng)站內(nèi)鏈企業(yè)網(wǎng)站制作營(yíng)銷(xiāo)型網(wǎng)站建設(shè)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)