c語言die,c語言第二章

本文目錄一覽:

C語言到底是什麼?

C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有彙編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用範圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適於編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。

C語言包括:數據類型、運算符與表達式、程序結構、順序、選擇、循環、數組、函數、預處理命令、指針、結構體與共用體、文件、位運算;。

c語言基本特性:

1、高級語言:它是把高級語言的基本結構和語句與低級語言的實用性結合起來的工作單元。

2、結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控制程序流向,從而使程序完全結構化。

3、代碼級別的跨平台:由於標準的存在,使得幾乎同樣的C代碼可用於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。C語言對編寫需要進行硬件操作的場合,優於其它高級語言。

4、使用指針:可以直接進行靠近硬件的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。

c語言 報數問題

方法一:(推薦)不受人數限制,因為採用的動態分配

#include stdio.h

#include malloc.h

/*********************************************************************

*以循環隊列的數據結構實現

*時間複雜度T(n)

*採用循環隊列數據結構,使得每次對數組的訪問次數減少到最少

**********************************************************************/

int main(void)

{

//定義並初始化各種變量

int i=0,//控制變量

num=0,//人數

die=0,//報數值

front,//隊頭位置

rear,//隊尾位置

temp=0;//中間變量

do

{

printf(“\n請輸入人數(輸入小於0退出):”);

scanf(“%d”,num);

printf(“\n請輸入報數值:”);

scanf(“%d”,die);

int *cycle=(int *)malloc((num+1)*sizeof(int));//多申請一個空間,在循環過程中方便處理

//依次編號,一號元素為0,暫時閑置

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

{

cycle[i]=i;

}

//置隊頭和隊尾的位置

front=1;

rear=num;

i=1;//報數器置1,開始報數

while(front!=rear)//當隊列中元素不止一個時,循環

{

//備份出隊數據

temp=(rear+1)%(num+1);//在位置rear後預留一個位置,以免有元素入隊

cycle[temp]=cycle[front];

front=(front+1)%(num+1);//隊頭元素出隊,隊頭位置加1

//如果出隊的人報數符合條件

if(i==die)

{

i=1;//報數重新置1,開始報數

printf(“%d出隊\n”,cycle[temp]);//顯示出隊的元素

}

//如果出隊的人報數不符合條件

else

{

i++;//報數值增1

//隊尾插入剛出隊的元素

rear=(rear+1)%(num+1);

cycle[rear]=cycle[temp];

}

}

printf(“倖存者是%d\n”,cycle[front]);

free(cycle);

}while(num!=0);

return 0;

}

方法二:(按你的要求)

#include stdio.h

/*********************************************************************

*以純粹的思維方法實現

*時間複雜度T(n)

*過程繁瑣,而且也不容易理解

*********************************************************************/

void main(void)

{

int result(int *p,int n,int m);

int i=0,m=0,n=0;

int num[50];

int *p;

for(;;)

{

printf(“輸入人數和報數值:”);

scanf(“%d%d”, n, m);

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

num[i] = i + 1;

p = num;

cout”The last one is NO.”result(p,n,m)endl;

}

}

int result(int *p,int n,int m)

{

int i=0;

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

p[i]=i+1;

i=0; // i為每次循環時計數變量

int k=0; // k為按1,2,3…m報數時的計數變量

int die=0; // die為退出人數

while (dien-1) // 當退出人數比n-1少時(即未退出人數大於1時)執行循環體

{

if (p[i]!=0) k++; //如果編號為0,就不報數;如果編號不為0,報數加1

if (k==m) // 將退出的人的編號置為0

{

printf(“%d退出\n”,p[i]);

p[i]=0;

k=0;//重新開始報數

m++;//退出人數加1

}

i++;

if (i==n) i=0; // 報數到尾後,i恢復為0

}

while(*p==0) p++;

return *p;

}

c語言約瑟夫問題

這個你搞得這麼複雜做什麼·-。-·

int yuesefu1(int man[],int y,int die)

{

int i=0,j=0,count=0;

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

{

man[i]=1;//。。。對數組初始化

//printf(“%d”,man[i]);

}

while(county-1)

{

if(man[i]!=0)/*當前人在圈子裡*/

j++;

if(j==die)/*若該人應該退出圈子*/

{

man[i]=0;/*0表示不在圈子裡*/

count++;/*退出的人數加1*/

j=0;/*重新數數*/

}

i++;/*判斷下一個人*/

if(i==y)/*圍成一圈*/

i=0;

}

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

if(man[i]!=0)

return man[i];/*返回最後一個人的編號*/

}

C語言編程,變量賦值

#includestdio.h

#includestring.h

#define NUM 6//變量數量

int main()

{

 int i;

 char name[NUM][10];

 FILE *fp = fopen(“D:\\data.txt”, “r”);

 float min, max, lad, huv, die, how, temp;

 if (fp == NULL)

 {

  perror(“Open file failure !!\n”);

  return 0;

 }

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

  fscanf(fp, “%s”, name[i]);

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

 {

  fscanf(fp, “%f”, temp);

  if (!strcmp(name[i], “min”))

   min = temp;

  else if (!strcmp(name[i], “max”))

   max = temp;

  else if (!strcmp(name[i], “lad”))

   lad = temp;

  else if (!strcmp(name[i], “huv”))

   huv = temp;

  else if (!strcmp(name[i], “die”))

   die = temp;

  else if (!strcmp(name[i], “how”))

   how = temp;

 }

 printf(“%min = %0.2f\nmax = %0.2f\nlad = %0.2f\nhuv = %0.2f\ndie = %0.2f\nhow = %0.2f\n”, min, max, lad, huv, die, how);

 fclose(fp);

 return 0;

}

編程語言的die exit break有什麼區別

die我只在PHP里遇到過,exit在C/C++里有,break是都有的。die是某語句遇到問題時直接讓整個程序死掉,函數括號里的是死亡提示信息,我在用的時候一般都是在數據庫中用的,mysql_connect(‘xxx’,’xx’,’xxx’) or die(“error,” . mysql_error());這樣可以顯示出來數據庫連接失敗的錯誤信息,方便我對其進行修復,exit一般都是開發人員主動的,當碰到一些東西時,如:用戶單擊了「退出」按鈕時,在按鈕的執行過程中寫exit(0);就可以關閉了。break一般都是用於循環的,在循環中如果碰到了某些不想碰到的東西或是已經循環夠了不想循環了,那可以用break來跳出循環

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/287179.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 13:07
下一篇 2024-12-23 13:07

相關推薦

  • 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
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論