當前位置:首頁 » 編程軟體 » C可馬編程

C可馬編程

發布時間: 2024-08-25 07:13:14

A. 求用c語言編程實現一個國際象棋 馬怎麼走的問題

C語言我不會,下面這個是易語言的,希望你能借鑒一下:
熟悉國際象棋的人都知道,馬在某個方格,可以在一步內到達的不同位置最多有8個。如圖所示:
#4#3#
5#0#2
6###1
#7#8#
(1)對馬走的方法可以設定一個順序,如當前位置在棋盤的(i,j)方格,下一個可能的位置依次為(i+2,j+1),(i+1,j+2),(i-1,j+2),(i-2,j+1),(i-2,j-1),(i-1,j-2),(i+1,j-2),(i+2,j-1),實際可以走的位置很明顯僅僅限於還未走過的和不越出邊界的那些位置。

(2)這里我們定義馬在一步內實際可以走的位置數為馬在當前位置的出口數,此外,為便於程序的統一處理,這里引入兩個數組「行變化數組」和 「列變化數組」,分別儲存8種可能走法對馬當前所在位置的橫縱坐標的增量。

(3)本題用貪心法策略求解。 當馬處於某一位置時,其選擇下一位置的准則為:從馬當前位置所允許走的位置中,選擇出口數最少的哪個位置。如馬的當前位置只有3個出口,它們的出口數分別為4,2,3,則程序就選擇出口數為2的那個出口。 演算法簡單描述,馬從棋盤第一行第一列位置開始出發;預設著法選擇順序控制變數「方法編號」為1;
{
循環判斷首()
模擬棋盤數組初始化為0;
行號=起始行號;列號=起始列號;
計次循環首(63,當前遍歷步數)
如果(馬當前位置沒有出口)
返回(-1)
否則 行號按返回方法改變;列號按返回方法改變。
在棋盤相對位置記錄為第幾步驟;
如果(找到解)
輸出模擬棋盤數組;
終止循環;
否則 方法編號=方法編號+1;
循環判斷尾(沒有找到解)
}

上述演算法在整個找解的過程一直向前,所以能非常快地找到解。但是對於某些開始位置,實際上有解可程序第一次找不到解,則程序只要變換8中可能出口的順序,就能找到解。考慮到這種變換8種方法的情況,程序引用「方法編號「用於控制8種可能走法的順序。開始為1時不能找到解,就讓"方法編號"加1,重新找解。

B. 輸入年份輸出屬相c語言,編寫程序,輸入一個年份,判斷該年屬相.(提示s

提起輸入年份輸出屬相c語言,大家都知道,有人問關於c語言 已知1972年屬鼠,輸入一個四位的整數(1000-2999之間)代表年份,顯示這一年屬相是什麼?另外,還有人想問C語言編程: 已知2015年是羊年,編程實現,輸入任意年份,輸出該年屬相。(使用switch,你知道這是怎麼回事?其實輸入年份輸出屬相用c語言while語句,下面就一起來看看編寫程序,輸入一個年份,判斷該年屬相.(提示switch-case),希望能夠幫助到大家!

輸入年份輸出屬相c語言

int main(){

char p[12][4]={“鼠”,”牛”,”虎”,”兔”,”龍”,”蛇”,”馬”,”羊”,”雞”,”猴”,”狗”,”豬”};

int year0=;   //年是鼠年,作為基準

int year,n;

printf(“請輸入一個年份n”);

scanf(“%d”,&year); 

n=year-year0;

n=n%12;

if (n<0) n+=12;   //求余時,n可能是負數,如果是負數則加12 

printf(“%d年屬%sn”,year,p[n]);

關於c語言 已知年屬鼠,輸入一個四位的整數(-之間)代表年份,顯示這一年屬相是什麼?

//c++的

#include

#include

usingnamespacestd;

intmain()//year用來記錄輸入的年份

intyear;

cin>>year;

//生肖相同的年份對於模12同餘

//所以建立一個生肖數組

stringZodiacSigns[12]={“Rat”,”Ox”,”Tiger”,”Hare”,”Dragon”,”Snake”,”Horse”,”Sheep”,”Monkey”,”Cock”,”Dog”,”Boar”};

//(year-)對模12取余,即對應於數組中相應的生肖

//此處為防止(year-)為負數,給year加了

//其實加、等也都是可以的,只要是不小於的12的倍數即可

cout<<ZodiacSigns[((year+-)%12)];

return0;

C語言編程: 已知年是羊年,編程實現,輸入任意年份,輸出該年屬相。(使用switch

int main()    int year;

    printf(“請輸入年份:”);

    scanf(“%d”,&year);

輸入年份輸出屬相用c語言while語句

    year=(year-)%12;

    if(year<0) year+=12;

    switch(year)

    {

        case 0:printf(“今年是羊年!n”);break;

        case 1:printf(“今年是猴年!n”);break;

        case 2:printf(“今年年!n”);break;

        case 3:printf(“今年是狗年!n”);break;

        case 4:printf(“今年是豬年!n”);break;

        case 5:printf(“今年是鼠年!n”);break;

        case 6:printf(“今年是牛年!n”);break;

        case 7:printf(“今年是虎年!n”);break;

        case 8:printf(“今年是兔年!n”);break;

        case 9:printf(“今年是龍年!n”);break;

        case 10:printf(“今年是蛇年!n”);break;

        case 11:printf(“今年是馬年!n”);break;

    }

    return 0;

以上就是與編寫程序,輸入一個年份,判斷該年屬相.(提示switch-case)相關內容,是關於關於c語言 已知1972年屬鼠,輸入一個四位的整數(1000-2999之間)代表年份,顯示這一年屬相是什麼?的分享。看完輸入年份輸出屬相c語言後,希望這對大家有所幫助!

C. 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);
}
輸出屏幕是放不下結果的,建議你改成向文件輸出。

D. 學編程到底是學C語言、C++、VB、jave中的哪種比較好

我的回答完全針對LZ的問題:
編程是不分語言的,數據結構和演算法思想跟語言無關。如果是初學者,建議從C學起,因為C語言是一門面向過程的語言,當然C比較難學,安全性也不是很好,但是C語言一旦學習到一定層次,學習其他語言就能很快上手。有了C的基礎,C++就能夠很快地掌握了。關於黑客和大型軟體項目的問題,C語言並不是一門好的開發大型項目的語言,因為語言本身是面向過程的,開發效率不高。C++則非常適合開發大型項目,它的封裝性和面向對象特性完全是面向大型項目的。當初把C升級為C++也就是鑒於C的開發效率不高這一點。如果LZ想學黑客這種東西的話,隨便去問問有經驗的人,他都會讓你從windows編程學起,windows編程也主要是基於C和C++的。因此C和C++是我比較推薦的兩門語言。
C和C++都是需要花費很多心血才能學好的,大型軟體適合用C++開發,而一些面向硬體的編程則屬於C的天地。推薦用一些外國的經典,比如C++primer和the C++ programming language。
至於Java,也是目前比較流行的語言,它的類其實和C++的STL有些類似。有了C或者C++的基礎,相信Java上手也很快。Java同樣應用非常廣泛,很有前途,如果不想學C++的話,學Java也可以。
總而言之學習語言很辛苦,任何一門語言都要付出艱苦努力。你看得越多,編的越多,對語言的理解也就越多。

E. c語言的網路編程特點有哪些(在線等待,答得好馬上給分!)

1. C語言的特點
C語言是一種廣受歡迎的結構化程序設計語言,具有極強的生命力.
"C語言無所不能!" :適用面比較廣,具有高級語言的優點和低級語言特點
與硬體無關,可移植性強
C語言是一門簡潔語言:僅有32個關鍵字,9種控制語句
在所有高級語言中,目標代碼質量高,運行效率最高
結構化,模塊化語言,非常適合結構化程序設計.
2.結構化程序設計方法
結構化程序設計方法強調程序設計風格和程序結構的規范化,提倡清晰的結構.
特點:
自頂向下,逐步細化:將問題分解為子問題,將子問題分解為再小的模塊.直到該模塊我們可以很容易地求解為止.
模塊化設計:對每個模塊,用結構化的方法加以設計.
結構化編碼:對每個模塊,分別編寫對應的函數.
目標:
便於多人分工協作完成大型軟體;便於代碼維護;
C語言的編程
3. C語言基本概念
Hello World! 示例
int main()
{ printf("Hello, world!");
return 0; }
函數 結構化,模塊化的基礎
主函數main()
庫函數:數學函數,字元串函數,io函數,內存分配函數
scanf, printf,…
C語言的編程
C語言基本概念(數據表達)
數據類型:整型,實型,字元型
數組:同種數據類型的元素的集合;下標引用
指針: (基本要求:看懂別人的程序)
注:建議掌握計算機硬體工作原理,如直接定址,間接定址;至少掌握變數的存儲方式 (《C程序設計》p201)
1) 指針即地址;指針變數是用於存放地址的變數
2) 指針可以與整型變數一樣運算;
3)★ 指針必須具備合法地址才可用;
C語言的編程
C語言基本概念(數據表達)
結構 (構造類型)
是由不同數據類型的數據組成的集合體;
struct student /*定義結構體類型*/
{ char name[20];
int sex;
int age;
char addr[100]; };
注:結構體變數不能作為一個整體參加數據處理;
struct student Wang2;
Wang2.age=22;
C語言的編程
C語言基本概念(程序結構)
表達式:算術,關系,邏輯,賦值,函數
語句
順序結構,選擇結構(if語句,switch語句),
循環結構(while語句,for語句與do while語句)
函數:輸入輸出函數
文件:永久保存數據的方式
流式文件;FILE結構體;文件io函數;(p309)
C程序的編寫與上機調試
4. C程序的編寫與上機調試
Hello World! 示例
cl
tc2.0 (略)
vc6.0: 規范的project操作示範
(1) new一個空的基於console的project;
(2) 創建c文件,並輸入代碼;
(3) 將c文件加入project;
(4) 編譯,調試,運行;
對軟體開發成本高和進度估計不準確.
用戶對已完成的"軟體系統"不滿意.
軟體產品的質量不可靠.
軟體的維護困難,維護的人員與費用不斷增加.
缺乏完整,正確的文檔資料.
軟體成本在計算機系統中所佔比例逐年上升.
軟體的發展跟不上硬體的發展和用戶的要求.
軟體的規模非常龐大,多人共同開發,必須有嚴格和科學的管理.
軟體開發過分依賴於個人的智力勞動和經驗.
學習指針最好是先學些計算機硬體工作的原理,例如:直接定址,間接定址等,只有了解了這些內容以後,你再學指針就比較容易理會,畢竟C語言是一門介於機器語言與高級語言中間的語言,沒有一些硬體工作知識是很難領悟它的真諦的.
1.指針是地址變數:它的值有兩種:其一是地址,其二是內容.不同的表達方式可以取不同的值,這有點象一個家庭地址在不同的場合標識的人物也不同.例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學校中登記的同樣的家庭地址就代表你自己.
2.指針是可以運算的,它的運演算法則與變數是一致的.
另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變數.建議各位對於指針只要能看懂就行!
對軟體開發成本高和進度估計不準確.
用戶對已完成的"軟體系統"不滿意.
軟體產品的質量不可靠.
軟體的維護困難,維護的人員與費用不斷增加.
缺乏完整,正確的文檔資料.
軟體成本在計算機系統中所佔比例逐年上升.
軟體的發展跟不上硬體的發展和用戶的要求.
軟體的規模非常龐大,多人共同開發,必須有嚴格和科學的管理.
軟體開發過分依賴於個人的智力勞動和經驗.
學習指針最好是先學些計算機硬體工作的原理,例如:直接定址,間接定址等,只有了解了這些內容以後,你再學指針就比較容易理會,畢竟C語言是一門介於機器語言與高級語言中間的語言,沒有一些硬體工作知識是很難領悟它的真諦的.
1.指針是地址變數:它的值有兩種:其一是地址,其二是內容.不同的表達方式可以取不同的值,這有點象一個家庭地址在不同的場合標識的人物也不同.例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學校中登記的同樣的家庭地址就代表你自己.
2.指針是可以運算的,它的運演算法則與變數是一致的.
另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變數.建議各位對於指針只要能看懂就行!
操作系統,科學計算,自然語言處理…….
C語言是一門簡潔語言
簡單:僅有32個關鍵字,9種控制語句(參見附錄2).在所有高級語言中,關鍵字最少的.
簡練:在C程序中一行代碼可以表達的內容,在別的語言中可能要用好幾行代碼
C語句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成機器碼質量高. 程序執行效率高.僅比匯編程序生成的代碼效率低10%~20%.在所有高級語言中,代碼執行效率最高的.
學習C語言的難點
C語言:
限制少,靈活性大.使程序設計人員有較大的自由度,以適應寬廣的應用面.
引出的問題:
容易出錯
技巧性強
因此,C語言雖然很簡潔,但學習起來,比Fortran, Basic等高級語言要困難.
怎樣學好C語言
多閱讀別人書寫的結構良好的程序
操作系統,科學計算,自然語言處理…….
C語言是一門簡潔語言
簡單:僅有32個關鍵字,9種控制語句(參見附錄2).在所有高級語言中,關鍵字最少的.
簡練:在C程序中一行代碼可以表達的內容,在別的語言中可能要用好幾行代碼
C語句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成機器碼質量高. 程序執行效率高.僅比匯編程序生成的代碼效率低10%~20%.在所有高級語言中,代碼執行效率最高的.
學習C語言的難點
C語言:
限制少,靈活性大.使程序設計人員有較大的自由度,以適應寬廣的應用面.
引出的問題:
容易出錯
技巧性強
因此,C語言雖然很簡潔,但學習起來,比Fortran, Basic等高級語言要困難.
怎樣學好C語言
多閱讀別人書寫的結構良好的程序
操作系統,科學計算,自然語言處理…….
C語言是一門簡潔語言
簡單:僅有32個關鍵字,9種控制語句(參見附錄2).在所有高級語言中,關鍵字最少的.
簡練:在C程序中一行代碼可以表達的內容,在別的語言中可能要用好幾行代碼
C語句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成機器碼質量高. 程序執行效率高.僅比匯編程序生成的代碼效率低10%~20%.在所有高級語言中,代碼執行效率最高的.
學習C語言的難點
C語言:
限制少,靈活性大.使程序設計人員有較大的自由度,以適應寬廣的應用面.
引出的問題:
容易出錯
技巧性強
因此,C語言雖然很簡潔,但學習起來,比Fortran, Basic等高級語言要困難.
怎樣學好C語言
多閱讀別人書寫的結構良好的程序
操作系統,科學計算,自然語言處理…….
C語言是一門簡潔語言
簡單:僅有32個關鍵字,9種控制語句(參見附錄2).在所有高級語言中,關鍵字最少的.
簡練:在C程序中一行代碼可以表達的內容,在別的語言中可能要用好幾行代碼
C語句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成機器碼質量高. 程序執行效率高.僅比匯編程序生成的代碼效率低10%~20%.在所有高級語言中,代碼執行效率最高的.
學習C語言的難點
C語言:
限制少,靈活性大.使程序設計人員有較大的自由度,以適應寬廣的應用面.
引出的問題:
容易出錯
技巧性強
因此,C語言雖然很簡潔,但學習起來,比Fortran, Basic等高級語言要困難.
怎樣學好C語言
多閱讀別人書寫的結構良好的程序
操作系統,科學計算,自然語言處理…….
C語言是一門簡潔語言
簡單:僅有32個關鍵字,9種控制語句(參見附錄2).在所有高級語言中,關鍵字最少的.
簡練:在C程序中一行代碼可以表達的內容,在別的語言中可能要用好幾行代碼
C語句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成機器碼質量高. 程序執行效率高.僅比匯編程序生成的代碼效率低10%~20%.在所有高級語言中,代碼執行效率最高的.
學習C語言的難點
C語言:
限制少,靈活性大.使程序設計人員有較大的自由度,以適應寬廣的應用面.
引出的問題:
容易出錯
技巧性強
因此,C語言雖然很簡潔,但學習起來,比Fortran, Basic等高級語言要困難.
怎樣學好C語言
多閱讀別人書寫的結構良好的程序

熱點內容
支付寶支付密碼如何修改 發布:2024-11-25 06:38:47 瀏覽:923
java開發要學習什麼技術 發布:2024-11-25 06:20:28 瀏覽:1000
java猿 發布:2024-11-25 06:18:36 瀏覽:127
如何刷安卓44 發布:2024-11-25 06:18:32 瀏覽:529
安卓手機怎麼限制app時間 發布:2024-11-25 06:14:15 瀏覽:403
福建虛擬伺服器管理軟體雲伺服器 發布:2024-11-25 06:05:46 瀏覽:106
android載入圖片 發布:2024-11-25 06:05:00 瀏覽:168
linux的ls 發布:2024-11-25 05:47:56 瀏覽:844
oracle存儲過程游標實例 發布:2024-11-25 05:40:32 瀏覽:804
xpsql2000 發布:2024-11-25 05:20:20 瀏覽:372