當前位置:首頁 » 編程語言 » c語言中的哈斯特馬
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中的哈斯特馬

發布時間: 2022-06-05 09:30:37

1. c語言實現中國象棋馬的走法

參考清華大學出版社出版的《程序設計基礎》第二版,在附錄A程序調試中,有一個國際象棋跳馬的程序,用的是回溯策略。你可參考之,只需將棋盤從8*8改為9*10即可。

2. C語言編程:100匹馬駝100擔貨,大馬一匹駝3擔,中馬一匹駝2擔,小馬兩匹駝一擔。

大馬最多33匹,中馬最多50匹,小馬最多100匹。
#include<stdio.h>
void main(void){
int a=0; //大馬
int b=0; //中馬
int c=0; //小馬馱貨數
int d; //小馬
int n=0; //個數
do{
c=c+1;
if(3*a+2*b+c==100&&a+b+2*c==100){
d=2*c;
printf("大馬、中馬、小馬分別為:%d,%d,%d\n",a,b,d);
n=n+1;
}
if(c==100){
c=0;
b=b+1;
}
if(b==50){
b=0;
a=a+1;
}
}while(a<=33);
printf("共有%d種方法。\n",n);
}
輸出屏幕是放不下結果的,建議你改成向文件輸出。

3. C語言的程序編輯題:一百匹馬,一百旦糧,大馬馱三旦,中馬馱兩旦,兩匹小馬馱一旦,大 中 小馬各幾匹

//功能:一百匹馬,一百旦糧,大馬馱三旦,中馬馱兩旦,兩匹小馬馱一旦大
//中小馬各幾匹?
//編寫日期08-06-22
//編寫者:埃罰梗afg
#include<stdio.h>
#define N 100
void main(){
int i = 0;
int x, y, z;//大馬,中馬,小馬
for(x=1;x<34;x++)
for(y=1;y<50;y++){
z = N - x - y;
if(3*x + 2*y + 0.5*z == N)
printf("方案:%d:\n大馬:%d匹,中馬:%d匹,小馬:%d匹\n",i++,x,y,z);
}
}

方案:1:
大馬:2匹,中馬:30匹,小馬:68匹
方案:2:
大馬:5匹,中馬:25匹,小馬:70匹
方案:3:
大馬:8匹,中馬:20匹,小馬:72匹
方案:4:
大馬:11匹,中馬:15匹,小馬:74匹
方案:5:
大馬:14匹,中馬:10匹,小馬:76匹
方案:6:
大馬:17匹,中馬:5匹,小馬:78匹
Press any key to continue

4. (C語言)有100匹馬,要馱100擔貨物,其中,1匹大馬馱3擔,1匹中馬馱2擔,1匹小馬馱1擔(注意是一匹)!

你看第8行要x+y+z==100,只有一種可能,就是全部是小馬,因為只要有一匹大馬或者中馬的話,就不需要100匹馬了,應該將x+y+z==100改成(x+y+z)<=100,還有printf那一行應該改為{
{
printf("%d,%d,%d\n",x,y,z);

}
順便我想問你一下,你的main函數內型都沒有定下來你的程序怎麼運行的?至少要個int main()
才能return 0;吧???

5. c語言中的一些疑問

1、C語言中=為賦值符號,作用是將=右側表達式的值賦值給左側的變數,也就是說,=號左側只能是變數,不能是表達式。
另,賦值運算符的結合性為自右向左,所以1式執行時候,先執行a+b=b++;=左側為一表達式,故出錯
2、VC6.0的默認設置有時候很詭異,比如我嘗試下面的代碼
int a=65536666666666;
printf("%d\n",a);
輸出結果就是
-239302998
所以,在編程的時候人為控制好,不要出現數值越界的情況。

6. c語言中的一些問題!

說簡單點,因為1/3的結果是0 ,
改為1.0/3試一試,這只是其中一種改法

7. c語言中的一些問題

#include<stdio.h>
int main()
{
float x,y,z,a,b,c;
printf("請輸入3個數,以逗號隔開:");
scanf("%f,%f,%f",&x,&y,&z);
if (x > y)
a = x;
else
a = y;
if (a < z)
a = z;
if ( y > z )
{b = y; //復合語句要用花括弧括起來組成一個語句體
c = z;}
else
{b = z; //復合語句要用花括弧括起來組成一個語句體
c = y;}
printf("3個數字從大到小依次為:%.0f %.0f %.0f",a,b,c);
return 0;
}

不過你的程序本身有錯誤,即使改過了有時運行也不對,所以要重新寫個新的程序。
#include"stdio.h"
main()
{
float a[3],t,k;
int i,j;
printf("請輸入3個數,以空格隔開:\n");
for(i=0;i<3;i++)
scanf("%f",&a[i]);
printf("3個數字從大到小依次為:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{k=a[i]-a[j];
if(k>1e-3)
{t=a[i];
a[i]=a[j];
a[j]=t;}
}
for(i=0;i<3;i++)
printf("%.3f ",a[i]);
}

8. c語言馬的遍歷問題。

#include<graphics.h>
void
main()
{
int
i,j;
int
gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"c:
\\tc");
setbkcolor(WHITE);
setcolor(RED);
for(i=0;i<10;i++)
{
line(20,20+i*40,340,20+i*40);
}
for(i=0;i<9;i++)
{
line(20+i*40,20,20+i*40,180);
}
for(i=0;i<9;i++)
{
line(20+i*40,220,20+i*40,380);
}
setlinestyle(0,0,3);
line(20,20,340,20);
line(340,20,340,380);
line(340,380,20,380);
line(20,380,20,20);
line(140,20,220,100);
line(220,20,140,100);
line(140,380,220,300);
line(220,380,140,300);
circle(60,100,5);
circle(300,100,5);
circle(60,300,5);
circle(300,300,5);
setcolor(BLUE);
moveto(60,380);
lineto(100,300);
lineto(140,380);
lineto(180,300);
lineto(220,380);
lineto(260,300);
lineto(300,380);
lineto(340,300);
lineto(300,220);
lineto(260,300);
lineto(220,220);
lineto(180,300);
lineto(140,220);
lineto(100,300);
lineto(60,220);
lineto(100,140);
lineto(140,220);
lineto(180,140);
lineto(220,220);
lineto(260,140);
lineto(300,220);
lineto(340,140);
lineto(260,100);
lineto(340,60);
lineto(260,20);
lineto(180,60);
lineto(260,100);
lineto(180,140);
lineto(100,100);
lineto(180,60);
lineto(100,20);
lineto(20,60);
lineto(100,100);
lineto(20,140);
lineto(60,220);
lineto(20,300);
lineto(60,380);
getch();
}

9. 數據結構的馬和象問題,用C語言,求幫忙啊。。謝謝,給點思路都行。

分數太少,至少得一百五十分。
我的基本思路是廣搜,最壞時間復雜度是O(N*N*M*M)
最壞情況可能比較糟糕。不過要看象了,因為他不能走到所有的點的,情況會比上面的要好一些,如果不行的話可以雙向廣搜,這樣就能大降低復雜度。

10. 求高手幫助,C語言中符號的意義

%5d,5為指定的輸出欄位的寬度。如果數據的位數小於5,則左端補以空格,若大於5,則按實際位

數輸出。。

%10.2 如果數據的位數小於10,則左端補以空格;若大於10,則按實際位數輸出。。保留2位小數