求50行左右的c語言程式設計,求一個50行左右的C語言程式設計。

2021-08-30 01:19:28 字數 6801 閱讀 3040

1樓:匿名使用者

這是一個玩五子棋的例子:

#include

#include

#include

class five }

int getm()

int getn()

void getpointxy();

void getpointmn();

void machinemn();

void showqipan();

void print();

bool isxywin();

bool ismnwin();

int dangerlevel(int a,int b);

void attack();

}; void five::getpointxy()

else }

void five::getpointmn()

else }

int five::dangerlevel(int a, int b)

if(qipan[a +i][b] == 'x' && a + i <= 19)

break;

} level += (i-1);

for(i = 1 ; a-i>=0; i ++)

if(qipan[a-i][b] == 'x' && (a-i) >= 0)

break;

} level += (i-1);

for(i = 1 ; b+i<=19 ; i ++)

if(qipan[a][b + i] == 'x' && b + i <= 19)

break;

} level += (i-1);

for( i = 1 ; b-i>=0 ; i ++)

if(qipan[a][b - i] == 'x' && (b-i) >= 0)

break;

} for( i = 1 ; a+i<=19&& b+i<=19; i ++)

if(qipan[a + i][b + i] == 'x' && b+i <= 19 && a+i <= 19)

break;

} level += (i-1);

for( i = 1 ; a-i>= 0 && b-i >= 0; i ++)

if(qipan[a - i][b - i] == 'x' && a-i>= 0 && b-i >= 0)

break;

} level += (i-1);

for( i = 1 ; a-i>= 0 && b+i <= 19 ; i ++)

if(qipan[a - i][b + i] == 'x' && a-i>= 0 && b+i <= 19)

break;

} level += (i-1);

for( i = 1 ; a + i<= 19 && b-i >= 0 ; i ++)

if(qipan[a + i][b - i] == 'x' && a + i<= 19 && b-i >= 0)

break;

} level += (i-1);

return level;

} void five::attack()

if(qipan[a +i][b] == 'o' && a + i <= 19)

break;

} level += (i-1);

for(i = 1 ; a-i>=0; i ++)

if(qipan[a-i][b] == 'o' && (a-i) >= 0)

break;

} level += (i-1);

for(i = 1 ; b+i<=19 ; i ++)

if(qipan[a][b + i] == 'o' && b + i <= 19)

break;

} level += (i-1);

for( i = 1 ; b-i>=0 ; i ++)

if(qipan[a][b - i] == 'o' && (b-i) >= 0)

break;

} for( i = 1 ; a+i<=19&& b+i<=19; i ++)

if(qipan[a + i][b + i] == 'o' && b+i <= 19 && a+i <= 19)

break;

} level += (i-1);

for( i = 1 ; a-i>= 0 && b-i >= 0; i ++)

if(qipan[a - i][b - i] == 'o' && a-i>= 0 && b-i >= 0)

break;

} level += (i-1);

for( i = 1 ; a-i>= 0 && b+i <= 19 ; i ++)

if(qipan[a - i][b + i] == 'o' && a-i>= 0 && b+i <= 19)

break;

} level += (i-1);

for( i = 1 ; a + i<= 19 && b-i >= 0 ; i ++)

if(qipan[a + i][b - i] == 'o' && a + i<= 19 && b-i >= 0)

break;

} level += (i-1);

if(level >= max) }

else

continue;

} }qipan[n-1][m-1] = 'x';

} void five::machinemn()

if(qipan[y-1][i] == 'x')

break;

if(qipan[y-1][i] == 'o')

num1++;

} for(i = x-2; i >= 0 ; i --)

if(qipan[y-1][i] == 'x')

if(qipan[y-1][i] == 'o')

num1++;

} ////

for( i = y ; i < y+5 && y+5 < 20 ; i ++)

if(qipan[i][x-1] == 'x')

if(qipan[i][x-1] == 'o')

num2++;

} for(i = y-2; i >= 0 ; i --)

if(qipan[i][x-1] == 'x')

if(qipan[i][x-1] == 'o')

num2++;

} ////

for(i = 0 ; i < 5 && x+i<20 && y+i<20; i++ )

if(qipan[y+i][x+i] == 'x')

if(qipan[y+i][x+i] =='o')

num3++;

} for(i = 0 ; x - i -2>=0 && y-i-2>=0 && i < 5;i++ )

if(qipan[y-i-2][x-i-2] == 'x')

break;

if(qipan[y-i-2][x-i-2] == 'o')

num3++;

} ////

for(i = 0 ; x + i < 20 && y - i - 2 >= 0 && i < 5;i ++)

if(qipan[y-i-2][x+i] == 'x')

if(qipan[y-i-2][x+i] == 'o')

num4++;

} for(i = 0 ; y + i < 20 && x - i - 2 >= 0 && i < 5;i ++)

if(qipan[y+i][x-i-2] == 'x')

if(qipan[y+i][x-i-2] == 'o')

num4++;

} ////

if(num_xy == 0 && num_xy == 0)

else if(num_xy == 1)

attack();

else if(num_xy == 1)

else if(num1 == 4 && a11 == 21 && a12 != 21) //一排四個右邊一頭堵住

else if(num1 == 4 && a12 == 21 && a11 != 21) //一排四個左邊邊一頭堵住

else if(num2 == 4 && a21 == 21 && a22 != 21) //一列四個下邊一頭堵住

else if(num2 == 4 && a22 == 21 && a21 != 21) //一列四個上邊一頭堵住

else if(num3 == 4 && a31 == 21 && a32 != 21) //一左上右下斜列四個右邊一頭堵住

else if(num3 == 4 && a32 == 21 && a31 != 21) //一左上右下斜列四個左邊一頭堵住

else if(num4 == 4 && a41 == 21 && a42 != 21) //一左下右上斜列四個右邊一頭堵住

else if(num4 == 4 && a42 == 21 && a41 != 21) //一左下右上斜列四個左邊一頭堵住

else if(num1==3 && a11 != 21 && a12 != 21) //一排3 個兩頭沒堵

else if(num2==3&& a21 != 21 && a22 != 21) //一列 3 個兩頭沒堵

else if(num3 == 3&& a31 != 21 && a32 != 21) //一左上右下斜列3 個兩頭沒堵

else if(num4==3 && a41 != 21 && a42 != 21) //一左下右上斜列3 個兩頭沒堵

else if(num1 == 2&& a11 != 21 && a12 != 21) //一排2個兩頭沒堵

else if( num2 == 2&& a21 != 21 && a22 != 21) //一列2個兩頭沒堵

else if(num3 == 2&& a31 != 21 && a32 != 21) //一左上右下斜列2 個兩頭沒堵

else if(num4==2 && a41 != 21 && a42 != 21) //一左下右上斜列2個兩頭沒堵

else

attack();

} void five::showqipan()

else

cout << p ;

p++;

} cout << endl;

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

for(int j = 0 ; j < 20 ; j ++)

cout << qipan[i][j]<<' ' ;

cout << endl;

} }void five::print()

else

cout << p ;

p++;

} cout << endl;

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

for(int j = 0 ; j < 20 ; j ++)

cout << endl;

} }bool five::isxywin()

for(i = x-2; i >= 0 ; i --)

for( i = y ; i < y+5 ; i ++)

for(i = y-2; i >= 0 ; i --)

for(i = 0 ; i < 5 && x+i<20 && y+i<20; i++ )

for(i = 0 ; x - i -2>=0 && y-i-2>=0 && i < 5;i++ )

for(i = 0 ; x + i < 20 && y - i - 2 >= 0 && i < 5;i ++)

for(i = 0 ; y + i < 20 && x - i - 2 >= 0 && i < 5;i ++)

if(num1>=5||num2>=5||num3>=5||num4>=5)

return 1;

else

return 0;

} bool five::ismnwin()

for(i = m-2; i >= 0 ; i --)

for( i = n ; i < n+5 ; i ++)

for(i = n-2; i >= 0 ; i --)

for(i = 0 ; i < 5 && m+i<20 && n+i<20; i++ )

for(i = 0 ; m - i -2>=0 && n-i-2>=0 && i < 5;i++ )

for(i = 0 ; m + i < 20 && n - i - 2 >= 0 && i < 5;i ++)

for(i = 0 ; n + i < 20 && m - i - 2 >= 0 && i < 5;i ++)

if(num1>=5||num2>=5||num3>=5||num4>=5)

return 1;

else

return 0;

} void main()

a.getpointmn();

a.print();

if(a.ismnwin()) }

} if(temp == 2)

a.machinemn();

a.print();

cout << "電腦走(" << a.getm() << ',' << a.getn() << ')' << endl;

if(a.ismnwin()) }

} if(temp1 == 2)

a.getpointxy();

a.print();

if(a.isxywin()) }

} }cout << "press any key to exit\n";

getch();}

c語言新手。求程式設計序,c語言新手。求編一個程式。

include include include define n 52 牌張總數 define m 13 每花色張數 char hs 4 花色陣列 梅花 紅心 方塊 黑桃字元對應的ascii碼 char hx 對應11,12,13,14共四張大於10的牌符號 生成順序撲克牌陣列 1 52,梅花1 1...

C語言,求幫助,C語言的簡單程式設計,求幫助。

4 不知道,估計是答案錯了,因為實際執行結果也是b11 18 21一起 auto 是區域性變數預設,宣告有效期在區域性變數範圍內extern 表示變數或函式在其它cpp檔案中定義,這裡只是使用static 最主要功能是隱藏 僅對本cpp可見 其次因為static變數存放在靜態儲存區,所以它具備永續性...

急求一道c語言程式設計題,急求一C語言程式設計題答案

include include define change 0 int main void 急求一道c語言程式設計題 實在抄不好意思,寫的太匆忙,考慮bai不仔細,剛修改了,程式中對大du寫小寫字母都可zhi以按你給的dao要求進行轉換了 include include define change ...