好玩的c語言代碼大全,最簡單的c語言代碼

本文目錄一覽:

求50行簡單C語言程序代碼,基礎的就好

#include stdio.h

#include stdlib.h

#define NUM 10

/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */

//冒泡排序算法

//基本思想:比較相鄰的兩個數,如果前者比後者大,則進行交換。每一輪排序結束,選出一個未排序中最大的數放到數組後面。

void bubbleSort(int *arr, int n) {

int i,j;

for (i = 0; in – 1; i++)

for (j = 0; j n – i – 1; j++) {

//如果前面的數比後面大,進行交換

if (arr[j] arr[j + 1]) {

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

//最差時間複雜度為O(n^2),平均時間複雜度為O(n^2)。穩定性:穩定。輔助空間O(1)。

//升級版冒泡排序法:通過從低到高選出最大的數放到後面,再從高到低選出最小的數放到前面,

//如此反覆,直到左邊界和右邊界重合。當數組中有已排序好的數時,這種排序比傳統冒泡排序性能稍好。

//升級版冒泡排序算法

void bubbleSort_1(int *arr, int n) {

//設置數組左右邊界

int left = 0, right = n – 1;

//當左右邊界未重合時,進行排序

while (left=right) {

int i,j;

//從左到右遍歷選出最大的數放到數組右邊

for (i =left; i right; i++) {

if (arr[i] arr[i + 1]) {

int temp = arr[i];

arr[i] = arr[i + 1];

arr[i + 1] = temp;

}

}

right–;

//從右到左遍歷選出最小的數放到數組左邊

for (j = right; j left; j–) {

if (arr[j + 1] arr[j]) {

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

left++;

}

}

int main(int argc, char *argv[]) {

int arr[NUM],i,j,temp;

printf(“請輸入10個數:\n”);

for(i=0; iNUM; i++) {

printf(“請輸入第(%d)個數:”,i+1);

scanf(“%d”,arr[i]);

}

printf(“\n輸入如下排列:\n”);

for(i=0; iNUM; i++) {

printf(“%4d”,arr[i]);

}/*

for(i=0; iNUM; i++) {

for(j=i+1; jNUM; j++) {

if(arr[i]arr[j]) {

temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

}

}*/

bubbleSort_1(arr,NUM);

/*printf(“\n從小到大如下排列:\n”);

for(i=0; iNUM; i++) {

printf(“%4d”,arr[i]);

}*/

printf(“\n從大到小如下排列:\n”);

for(i=NUM-1; i=0; i–) {

printf(“%4d”,arr[i]);

}

return 0;

}

有什麼好玩的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 );

}

void Color(int a)  //設定顏色的函數(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;iW-2;i+=2) {gtxy(zlx+i,zly);  printf(“═”); }      //打印上橫框

for(i=2;iW-2;i+=2) {gtxy(zlx+i,zly+H-1); printf(“═”); }  //打印下橫框

for(i=1;iH-1;i++) { gtxy(zlx,zly+i);  printf(“║”); }       //打印左豎框

for(i=1;iH-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;iH-2;i++)

for(j=0;jW-4;j++){gtxy(zlx+2+j,zly+1+i);printf(” “);}

}

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

{int i,j;

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

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

     {if(i==21jiem[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]==3jiem[21][wj]==1) death++;

}

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

{ int i,j;

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

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

     {if(i==0jiem[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;i22;i++)

for(j=0;j22;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;i22;i++)

 for(int j=0;j22;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(wj0) jiem[21][wj]=0,jiem[21][–wj]=1; break;

        case 77: if(wj20) 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;

}

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

SetConsoleTitle(“俄羅斯方塊”);  //設置窗口左上角標題欄處出現”俄羅斯方塊”5個字

srand( (unsigned) time(NULL) );  //初始化隨機數發生器

n= rand(  ) % 20;   //產生隨機數0-19中的一個. 如 rand(  )%5 就產生0-4中的一個數

SetConsoleTitle(  )函數在windows.h里, srand(  )函數與rand(  )函數要配合用,

就是同時要用,在stdlib.h里。如果 rand( )%10+1 就產生1-10之中的一個數。

Sleep(300);   //延時300毫秒(就是程序暫停300毫秒後繼續運行)

system(“cls”);   //清屏(把窗口裡的內容全部清除,光標定於(0,0)位置處)

這兩個函數都在windows.h里。開頭4個自編函數 編寫如下:

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

{ COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color (int a)  //設定顏色的函數

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

void yinc (int x,int y)   //隱藏光標的函數

{ CONSOLE_CURSOR_INFO   gb={ x , y };   //gb代表光標

SetConsoleCursorInfo ( GetStdHandle(STD_OUTPUT_HANDLE),  gb );

}

void kou(int w,int h)  //設置窗口大小的函數

{HANDLE  hl=GetStdHandle ( STD_OUTPUT_HANDLE ) ;

COORD  size={ w , h };

SetConsoleScreenBufferSize( hl , size );

SMALL_RECT  rc={ 0, 0, w, h };

SetConsoleWindowInfo( hl, 1, rc );

}

最後這個函數,參數w是寬h是高。裡邊5行中第一行定義了句柄型變量hl,並給它賦值。

第二行定義了坐標型結構體變量size,它的取值決定了緩衝區的大小。第三行就是使用

size的值設置好緩衝區大小。第四行定義了變量rc,它的值決定當前窗口顯示的位置與

大小(不得超過緩衝區的大小)。前兩個0,0是從緩衝區左上角0列0行位置處開始,後兩

個參數可以小於w和h.比如 rc={0,0,w-10,h-5}; 最後一行使用rc的值設置好窗口,中間

那個參數要為” 1 “或寫“ true ”才有效。

c語言浪漫代碼

#include stdio.h

int main()

{

int i, j, k, l, m;

char c = ‘*’; //ASCII碼裡面 3 就是一個字符小愛心

for (i = 1; i = 5; i++)

printf(“\n”); //開頭空出5行

for (i = 1; i = 4; i++)

{ //前3行中間有空隙分開來寫

for (j = 1; j = 32 – 2 * i; j++)

printf(” “); //左邊的空格,每下一行左邊的空格比上一行少2個 //8*n-2*i

for (k = 1; k = 4 * i – 2; k++)

printf(“%c”, c); //輸出左半部分字符小愛心

for (l = 1; l = 17 – 4 * i; l++)

printf(” “); //中間的空格,每下一行的空格比上一行少4個

for (m = 1; m = 4 * i – 2; m++)

printf(“%c”, c); //輸出右半部分字符小愛心

printf(“\n”); //每一行輸出完畢換行

}

for (i = 1; i = 3; i++)

{ //下3行中間沒有空格

for (j = 1; j = 22 + 1; j++)

printf(” “); //左邊的空格 //8*(n-1)+1

for (k = 1; k = 31; k++)

printf(“%c”, c); //輸出字符小愛心

printf(“\n”); //每一行輸出完畢換行

}

for (i = 7; i = 1; i–)

{ //下7行

for (j = 1; j = 38 – 2 * i; j++)

printf(” “); //左邊的空格,每下一行左邊的空格比上一行少2個//8*(n+1)-2*i

for (k = 1; k = 4 * i + 1; k++)

printf(“%c”, c); //每下一行的字符小愛心比上一行少4個(這個循環是i–)

printf(“\n”); //每一行輸出完畢換行

}

for (i = 1; i = 38; i++)

printf(” “); //最後一行左邊的空格

printf(“%c”, c); //最後一個字符小愛心

for (i = 1; i = 5; i++)

printf(“\n”); //最後空出5行

return 0;

}

求幾個比較有趣,簡單的C語言源代碼 小白自己敲着練一下手感

最簡單的模擬計時器:

#includestdio.h

#includeconio.h

#includewindows.h

int m=0,s=0,ms=0;  //m是分 s是秒 ms是毫秒

//以下是5個自編函數

void csh( );  //初始化界面

void yinc(int x,int y);  //隱藏光標的函數(y值設為0就會隱藏)

void jishi( );  //計時器運行(每100毫秒變化一次)

void Color (short x, short y);  //設定顏色的函數(y設為0就是黑底)

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

int main(  )  //主函數

{  csh( );

   getch( );

   while(1)

       { jishi( );

         Sleep(100);  //間隔100毫秒

         if( kbhit( ) )break;  //有鍵按下就退出循環

       }

    return 0;

}

void csh( )   //初始化界面

{Color(14,0);    //設定淡黃字配黑底

printf(“\n\n\t    計時器”);

Color(10,0);   //設定淡綠字配黑底

printf(“\n\t┌───────────┐”);

printf(“\n\t│           │”);

printf(“\n\t└───────────┘”);

gtxy(10,4);   //光標到屏幕第10列4行處輸出

Color(7,0);   //恢復白字黑底

printf(” 00:00:00 “);

yinc(1,0 );   //隱藏光標(yinc代表隱藏)

return;

}

void jishi( )  //計時器運行

{ms+=1;

if(ms==10){s+=1;ms=0;}

if(s==60){m+=1;s=0;}

gtxy(10,4);

Color(9,0);   //設定淡藍字配黑底

if(m9) printf(” %d:”,m);

else printf(” 0%d:”,m);

Color(14,0);   //設定淡黃字配黑底

if(s9) printf(“%d:”,s);

else printf(“0%d:”,s);

Color(12,0);   //設定淡紅字配黑底

printf(“0%d”,ms);

}

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

{ COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color (short ForeColor= 7, short BackGroundColor= 0)   //設定顏色的函數

{ HANDLE  handle = GetStdHandle ( STD_OUTPUT_HANDLE );

SetConsoleTextAttribute ( handle, ForeColor + BackGroundColor * 0x10 );

}

void yinc(int x,int y)   //隱藏光標的設置(gb代表光標)

{ CONSOLE_CURSOR_INFO  gb={x,y};   //x為1-100,y為0就隱藏光標

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), gb);

}

原創文章,作者:EULG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/131572.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EULG的頭像EULG
上一篇 2024-10-03 23:46
下一篇 2024-10-03 23:46

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29

發表回復

登錄後才能評論