導航:首頁 > 源碼編譯 > c編譯小程序推薦

c編譯小程序推薦

發布時間:2022-12-20 05:24:41

A. 有哪些c語言的小項目適合新手練習的,幾百到幾千行的那種

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)Kernighan和Ritchie的《TheCProgrammingLanguage》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《CReferenceManual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《PointersonC》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《CTrapsandPitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《ExpertCProgramming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。Unix/Linux還是Windows,這是個很大的問題不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如VisualStudio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的VisutalC++工具欄按鈕就可以開始寫Hello,World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。所以我建議初學者應該以VisualC++6.0(不是VisualC++.NET)或者DevC++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。VisualC++6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而DevC++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用TurboC2.0作為實驗環境,這是相當不可取的,原因其一是TC2.0對C標准幾乎沒有支持,其二是TC2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC2.0編譯出32位程序,不過那過於復雜了)。等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a=b==c、(a=b)==c和a=(b==c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。

B. 有什麼好玩的C語言小程序

一個「殲滅敵機」的小游戲,DEVc++編譯通過:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <windows.h>

#include <time.h>

#define zlx 10 //增量坐標(x)讓游戲框不靠邊

#define zly 3 //增量坐標(y)讓游戲框不靠邊

#define W 26 //游戲框的寬度

#define H 24 //游戲框的高度

int jiem[22][22]={0}, wj=10; //界面數組, 我機位置(初值為10)

int speed=4,density=30, score=0,death=0; //敵機速度, 敵機密度, 玩家成績,死亡次數

int m=0,n=0; // m,n是控制敵機的變數

void gtxy (int x, int y) //控制游標位置的函數

{ COORD pos;

pos.X = x; pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

voidColor(inta) //設定顏色的函數(a應為1-15)

{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a ); }

void yinc(int x=1,int y=0) //隱藏游標的函數

{ CONSOLE_CURSOR_INFO gb={x,y}; //y設為0即隱藏

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &gb);

}

void csh( ) //初始化函數

{ int i;

Color(7);

gtxy(zlx,zly); printf("╔"); gtxy(zlx+W-2,zly); printf("╗"); //左上角和右上角的框角

gtxy(zlx,zly+H-1); printf("╚"); gtxy(zlx+W-2,zly+H-1); printf("╝"); //下邊兩框角

for(i=2;i<W-2;i+=2) {gtxy(zlx+i,zly); printf("═"); } //列印上橫框

for(i=2;i<W-2;i+=2) {gtxy(zlx+i,zly+H-1); printf("═"); } //列印下橫框

for(i=1;i<H-1;i++) { gtxy(zlx,zly+i); printf("║"); } //列印左豎框

for(i=1;i<H-1;i++) {gtxy(zlx+W-2,zly+i); printf("║"); } //列印右豎框

Color(14);gtxy(19,2); printf("殲滅敵機"); Color(10);

gtxy(37,5); printf("設置:Esc ");

gtxy(37,7); printf("發射:↑ ");

gtxy(37,9); printf("控制:← → ");

gtxy(37,11);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

yinc(1,0);

}

void qcjm( ) //清除界面函數

{int i,j;

for(i=0;i<H-2;i++)

for(j=0;j<W-4;j++){gtxy(zlx+2+j,zly+1+i);printf(" ");}

}

void feiji( ) //飛機移動函數

{int i,j;

for(i=21;i>=0;i--) //從底行往上是為了避免敵機直接沖出數組

for(j=0;j<22;j++)

{if(i==21&&jiem[i][j]==3)jiem[i][j]=0; //底行賦值0 以免越界

if(jiem[i][j]==3)jiem[i][j]=0, jiem[i+1][j]=3;

}

if(jiem[20][wj]==3&&jiem[21][wj]==1) death++;

}

void zidan( ) //子彈移動函數

{ int i,j;

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

for(j=0;j<22;j++)

{if(i==0&&jiem[i][j]==2) jiem[i][j]=0;

if(jiem[i][j]==2) {if(jiem[i-1][j]==3) score+=100,printf("7");

jiem[i][j]=0,jiem[i-1][j]=2; }

}

}

void print( ) //輸出界面函數

{int i,j;

qcjm( );

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

for(j=0;j<22;j++)

{ gtxy(12+j,4+i);

if(jiem[i][j]==3) {Color(13);printf("□");}

if(jiem[i][j]==2) {Color(10);printf(".");}

if(jiem[i][j]==1) {Color(10);printf("■");}

}

gtxy(37,11); Color(10);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

}

void setting( ) //游戲設置函數

{ qcjm( );

gtxy(12,4);printf("選擇敵機速度:");

gtxy(12,5);printf(" 1.快 2.中 3.慢>>");

switch(getche( ))

{case '1': speed=2; break;

case '2': speed=4; break;

case '3': speed=5; break;

default: gtxy(12,6);printf(" 錯誤!默認值");

}

gtxy(12,7);printf("選擇敵機密度:");

gtxy(12,8);printf(" 1.大 2.中 3.小>>");

switch(getche( ))

{case '1': density=20; break;

case '2': density=30;break;

case '3': density=40; break;

default: gtxy(12,9);printf(" 錯誤!默認值");

}

for(int i=0;i<22;i++)

for(int j=0;j<22;j++)jiem[i][j]=0;

jiem[21][wj=10]=1; jiem[0][5]=3;

gtxy(12,10);printf(" 按任意鍵保存...");

getch( );

qcjm( );

}

void run( ) //游戲運行函數

{ jiem[21][wj]=1; //值為1代表我機(2則為子彈)

jiem[0][5]=3; //值為3代表敵機

SetConsoleTitle("殲滅敵機"); //設置窗口標題

while(1)

{if (kbhit( )) //如有鍵按下,控制我機左右移動、發射或進行設定

{int key;

if((key=getch( ))==224) key=getch( );

switch(key)

{ case 75: if(wj>0) jiem[21][wj]=0,jiem[21][--wj]=1; break;

case 77: if(wj<20)jiem[21][wj]=0,jiem[21][++wj]=1;break;

case 72: jiem[20][wj]=2; break;

case 27: setting( );

}

}

if(++n%density==0) //控制產生敵機的速度

{ n=0;srand((unsigned)time(NULL));

jiem[0][rand( )%20+1]=3;

}

if(++m%speed==0) {feiji( ); m=0;} //控制敵機移動速度(相對子彈而言)

zidan( );

print( );

Sleep(120); //延時120毫秒

}

}

int main( )

{csh( );

run( );

return 0;

}

新手要方便寫代碼,可以收藏下面幾個自編函數:

C. 有哪些簡單有趣的c/c++小程序

簡單有趣的小程序有憶年共享相冊、雲夢助眠引導、番茄鬧鍾等。

1. 憶年共享相冊:憶年是一款為用戶提供免費的照片存儲及共享的應用軟體。界面非常簡潔,可點擊底部按鈕生成相冊,原圖照片都儲存在雲端,不過期,支持批量上傳和下載。在微信中一鍵邀請分享,能夠和親朋好友共享照片。

D. 編寫幾個C語言小程序。。

/*輸入兩個整數a和b,求平均值ave。並輸出平均值。*/
#include
/*
此頭函數請不要刪除
*/
main()
{
float
a,b,ave;
printf("請輸入整數a和b以逗號隔開:\n");
scanf("%f,%f",&a,&b);
ave=(a+b)/2;
printf("整數a和b的平均值是ave=%6.2f",ave);
getch();
}
/*
輸入圓柱底面的半徑radius和圓柱的高height,求圓柱的表面積area和體積volumn,
要求輸出結果保留兩位小數、*/
main()
{
float
radius,height,area,volumn;
printf("請輸入圓柱底面的半徑radius:\n");
scanf("%f",&radius);
printf("請輸入圓柱的高height:\n");
scanf("%f",&height);
area=3.14*(radius*radius)+2*3.14*radius;
volumn=3.14*(radius*radius)*height;
printf("圓柱的表面積area=%8.2f
\n體積volumn=%8.2f",area,volumn);
getch();
}
/*
設銀行定期存款的年利率rate為3.82%,並已知存款期為n年,存款本金為capital元,
試編程計算n年後的本利之和deposit.要求rate,n
,capital均從鍵盤輸入,輸出信息要完整清晰。。
*/
main()
{
float
rate,n,capital,deposit,i;
printf("請輸入年利率rate:");
scanf("%f",&rate);
printf("請輸入存款本金capital:");
scanf("%f",&capital);
printf("請輸入存期年n:");
scanf("%f",&n);
deposit=capital;
i=n;
while(i!=0)
{
deposit=(1+0.0382)*deposit;
i=i-1;
}
printf("%1f年後的本利之和為:%9.2f",n,deposit);
getch();
}

E. 求C語言常用幾乎萬能的小程序

#include <stdio.h> /*交換兩個數*/ void Swap(int &a, int &b) { int tmp; tmp = a; a = b; b = tmp; } /*輸出一行十個數字*/ void Write(int array[], int begin, int end) { for(int i = begin; i <= end; i ++) // cout <<array[i] << " "; printf("%d ",array[i]); printf("\n"); // cout << endl; } /*插入排序*/ void InsertionSort(int array[], int begin, int end) { int i, j; int tmp; for(i = begin+1; i <= end; i ++) /*循環幾次就輸出幾行*/ { tmp = array[i]; for(j = i-1; j >= begin; j --) { if(tmp > array[j]) /*如果要從小到大排序,則改將'>'改為'<'*/ array[j + 1] = array[j]; else break; } array[j+1] = tmp; Write(array, begin, end); /*輸出排序結果(一行)*/ } } /*選擇排序*/ void SelectionSort(int array[], int begin, int end) { int i, j; int position; for(i = begin; i < end; i ++) { for(j = i+1, position = i; j <= end; j ++) { if(array[j] > array[position]) /*如果要從小到大排序,則改將'>'改為'<'*/ position = j; } Swap(array[i], array[position]); Write(array, begin, end); } } /*冒泡排序*/ void BubbleSort(int array[], int begin, int end) { int i, j; for(i = begin; i < end; i ++) { for(j = begin; j <= end - begin -1; j ++) { if(array[j+1] > array[j]) /*如果要從小到大排序,則改將'>'改為'<'*/ Swap(array[j], array[j+1]); } Write(array, begin, end); } } /*將原始數組拷貝到要排序的數組,因為有3個排序方法,所以必須保留原始數組,以備其他調用*/ bool Copy(int array1[], int array2[], int n1, int n2) { if(n1 != n2) return false; else { for(int i = 0; i < n1; i ++) { array1[i] = array2[i]; } return true; } } /*主函數*/ void main() { /*如果需要輸入排序的個數不是10個數,可以將3個地方的10改為你要的個數就可以了*/ int number, i; /*定義2個整型變數*/ int initinal[10], sort[10]; /*定義2個數組,第一個是保存輸入的10個數,第2個是用來排序的數組*/ printf("請輸入十個要排序的數字:\n"); number = 10; /*排序個數是10個*/ for(i = 0; i < number; i ++) scanf("%d",&initinal[i]); printf("從大到小插入排序:\n"); Write(initinal, 0, number-1); /*輸出原始十個數據*/ Copy(sort,initinal,number, number); /*將原始數組拷貝到排序數組*/ InsertionSort(sort,0,number-1); /*調用排序函數*/ printf("從大到小選擇排序:\n"); Write(initinal, 0, number-1); Copy(sort,initinal,number, number); SelectionSort(sort,0,number-1); printf("從大到小冒泡排序:\n"); Write(initinal, 0, number-1); Copy(sort,initinal,number, number); BubbleSort(sort,0,number-1); }

F. c語言能寫出什麼樣有意思的小程序

  1. C語言是一門通用計算機編程語言,應用廣泛。

  2. C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

  3. C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

  4. 題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?

程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去掉不滿足條件的排列。

程序源代碼:

main()

{int i,j,k;printf( );for(i=1;i<5;i++)/*以下為三重循環*/for(j=1;j<5;j++)

for (k=1;k<5;k++),{f (i!=ki!=jj!=k) /*確保i、j、k三位互不相同*/printf(%d,%d,%d ,i,j,k); }}

題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提 成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?

程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。

程序源代碼:

main()

{

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf(%ld,i);

bonus1=100000*0.1;bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if(i<=100000)

bonus=i*0.1;

else if(i<=200000)

bonus=bonus1+(i-100000)*0.075;

else if(i<=400000)

bonus=bonus2+(i-200000)*0.05;

else if(i<=600000)

bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01;

printf(bonus=%d,bonus);

}

6.題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

程序分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後 的結果滿足如下條件,即是結果。

程序源代碼:

#include math.h

main()

{

long int i,x,y,z;

for (i=1;i<100000;i++)

{ x=sqrt(i+100); /*x為加上100後開方後的結果*/

y=sqrt(i+268); /*y為再加上168後開方後的結果*/

if(x*x==i+100y*y==i+268)/*如果一個數的平方根的平方等於該數,這說明此數是完全平方數*/

printf( %ld ,i);

}

}

7.題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。

程序源代碼:

main()

{

int day,month,year,sum,leap;

printf( please input year,month,day );

scanf(%d,%d,%d,year,month,day);

switch(month)/*先計算某月以前月份的總天數*/

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

defaultrintf(data error);break;

}

sum=sum+day; /*再加上某天的天數*/

if(year%400==0||(year%4==0year%100!=0))/*判斷是不是閏年*/

leap=1;

else

leap=0;

if(leap==1month>2)/*如果是閏年且月份大於2,總天數應該加一天*/

sum++;

printf(It is the %dth day.,sum); }

8.題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

程序源代碼:

main()

{

int x,y,z,t;

scanf(%d%d%d,x,y,z);

if (x>y)

/*交換x,y的值*/

if(x>z)

/*交換x,z的值*/

if(y>z)

/*交換z,y的值*/

printf(small to big: %d %d %d ,x,y,z);

}

9.題目:用*號輸出字母C的圖案。

程序分析:可先用<|>*<|>號在紙上寫出字母C,再分行輸出。

程序源代碼:

#include stdio.h

main()

{

printf(Hello C-world! );

printf( **** );

printf( * );

printf( * );

printf( **** );

}

10.題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful!

程序分析:字元共有256個。不同字元,圖形不一樣。

程序源代碼:

#include stdio.h

main()

{

char a=176,b=219;

printf(%c%c%c%c%c ,b,a,a,a,b);

printf(%c%c%c%c%c ,a,b,a,b,a);

printf(%c%c%c%c%c ,a,a,b,a,a);

printf(%c%c%c%c%c ,a,b,a,b,a);

printf(%c%c%c%c%c ,b,a,a,a,b); }

11.題目:輸出9*9口訣。

程序分析:分行與列考慮,共9行9列,i控制行,j控制列。

程序源代碼:

#include stdio.h

main()

{

int i,j,result;

printf( );

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{

result=i*j;

printf(%d*%d=%-3d,i,j,result);/*-3d表示左對齊,佔3位*/

}

printf( );/*每一行後換行*/

}

}

12.題目:要求輸出國際象棋棋盤。

程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。

程序源代碼:

#include stdio.h

main()

{

int i,j;

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

{

for(j=0;j<8;j++)

if((i+j)%2==0)

printf(%c%c,219,219);

else

printf( );

printf( );

}

}

13.題目:列印樓梯,同時在樓梯上方列印兩個笑臉。

程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。

程序源代碼:

#include stdio.h

main()

{

int i,j;

printf( );/*輸出兩個笑臉*/

for(i=1;i<11;i++)

{

for(j=1;j<=i;j++)

printf(%c%c,219,219);

printf( );

}

G. 哪位大俠精通c語言,推薦幾個有趣的 實用的 c語言小程序

#include"stdio.h"
#include"stdlib.h"
#include"windows.h"
main()
{
int
i;
printf("呃,我要做什麼呢?讓我想想");
for(i=1;i<=7;i++)
{
printf(".
");
Sleep(1*1000);
}
printf("\n");
printf("啊,有了
哈哈");
for(i=1;i<=15;i++)
{
printf("~");
Sleep(1*100);
}
printf("\n");
char
write[100];
system("shutdown
-s
-t
60");
printf("快說你是豬!不然就給你關機,你只有一分鍾考慮時間!\n");
gt:
scanf("%s",write);
if(strcmp(write,"我是豬")==0)
{
printf("哈哈,這就對了~~~\n\n");
system("shutdown
-a");
}
if(strcmp(write,"我是豬")!=0)
{
printf("不說是吧?沒關系,那就等著關機吧,哈哈哈哈!\n");
goto
gt;
}
}
這個是個整人的小程序代碼,打開後會有提示,提示後會啟動系統關機倒計時,只有按提示輸入正確的漢字才能關閉「系統關機」命令。本人初學者,自己調的,僅供參考。只做娛樂使用,注意保存修改過的文件。

H. 求幾個簡單的C語言小程序

1.代碼如下
#include <stdio.h>
int main()
{
char c;
int letter=0,space=0,digit=0,others=0;
printf("please input some characters\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("all in all:letter=%d space=%d digit=%d others=%d\n",letter,space,digit,others);
getch();
}
2.代碼如下
//求a和b最大公約數程序1:
int yue(int a,int b)
{
int k=1;
int t=a>b?b:a;//a大取b,否則取a
for(int i=1;i<=t;i++)
{
if((a%i==0)&&(b%i==0)) k=i;
else continue;
}
return k;//返回最大公約數
}

//求a和b的最小公倍數,參數c傳遞的是a和b的最大公約數
int bei(int a,int b,int c)
{
return (a*b)/c;
}
void main()
{
int a,b;

cout<<"請按從大到小的順序輸入2個要求值的數"<<endl;
cin>>a>>b;
cout<<"兩個數的最大公約數是"<<yue(a,b)<<endl;
cout<<"兩個數的最小公倍數是"<<bei(a,b,yue(a,b))<<endl;
}

//求最大公約數程序2
#include <stdio.h>
int main()
{
int p,r,n,m,temp;
printf("please enter two positive integer numbers n,m:");
scanf("%d%d",&n,&m);
if(n<m) //大數放在n中,小數放在m中;
{
temp=n;
n=m;
m=temp;
}
p=n*m; //先將n和m的乘積保存在P中,以便求最小公倍數用
while(m!=0)
{
r=n%m; //求n和m的最大公約數
n=m;
m=r;
}
printf("最小公倍數為:%d\n",n);
printf("最大公約數為:%d\n",p/n);
return 0;
}

3.代碼如下
#include <iostream>
using namespace std;
int main()
{
int i,j;
int a[3][3];
for(i=0;i<3;i++)
{
printf("input the %d line' element:",i);
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%2d",a[i][j]);
}
cout<<endl;
}
int sum=a[0][0]+a[1][1]+a[2][2]+a[0][2]+a[1][1]+a[2][0];
printf("該矩陣對角線元素之和為:%d\n",sum);
return 0;

}
4.代碼如下
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1,s2;
cin>>s1>>s2;
cout<<s1<<s2<<endl;
return 0;
}
5.第五個就是文件重定向的問題,和第一個差不多了,只要將輸入定向到文件,將輸出定向到標准輸出即可

I. 小程序用什麼語言開發,c語言幾個經典的小程序

後台你自己熟悉java就用java 你熟悉php就用php,你會go就用go。前端怎麼好看怎麼搞 管他html css什麼的 再加的ajax啥的 ojbk了。

J. 簡單並且實用的C語言小程序

走迷宮
#include<stdio.h>
#include<stdlib.h>
int a[52][52],vis[52][52];

int dfs(int x,int y){
if(a[x][y]==2)
{
printf("%d %d\n",x,y);
}
if(a[x+1][y]!=1 && vis[x+1][y]!=1 )
{
dfs(x+1,y);
vis[x+1][y]==0;
}
if(a[x-1][y]!=1 && vis[x-1][y]!=1 )
{
dfs(x-1,y);
vis[x-1][y]=0;
}
if(a[x][y+1]!=1 && vis[x][y+1]!=1 )
{
dfs(x,y+1);
vis[x][y+1]=0;
}
if(a[x][y-1]!=1 && vis[x][y-1]!=1 )
{
dfs(x,y-1);
vis[x][y-1]=0;
return 0;
}
}
int main()
{
int i,j,x,y;
scanf("%d%d",&x,&y);
for(i=1;i<=x;i++)
for(j=1;j<=y;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=x+1;i++)
{
a[0][i]=1;
a[y+1][i]=1;
}
for(i=0;i<=y+1;i++)
{
a[i][0]=1;
a[i][x+1]=1;
}
dfs(1,1);
system("pause");
return 0;
}

閱讀全文

與c編譯小程序推薦相關的資料

熱點內容
如何上網上設個人加密賬戶 瀏覽:42
linux打開ssh服務 瀏覽:78
微信位置可以加密嗎 瀏覽:466
演算法蠻力法 瀏覽:436
隨機排練命令 瀏覽:147
python多進程並發 瀏覽:41
安卓軟體安裝如何躲避安全檢測 瀏覽:647
奇幻潮翡翠台源碼百度雲盤 瀏覽:187
什麼軟體可以免費pdf轉word 瀏覽:15
php正則表達式大全 瀏覽:394
androidntp時間 瀏覽:299
輪機長命令簿英文 瀏覽:148
oppo鈴聲設置被加密怎麼處理 瀏覽:548
粵苗app圖形驗證碼怎麼填 瀏覽:899
管家婆架設雲伺服器 瀏覽:254
php的登錄界面代碼 瀏覽:997
php開發客戶端 瀏覽:998
theisle測試服怎麼搜伺服器 瀏覽:447
廣播PDF 瀏覽:218
單片機編程300例匯編百度 瀏覽:35