幾道經典C語言程式實現

2021-06-27 17:02:26 字數 3084 閱讀 9123

2.程式設計在乙個已知的字串中查詢最長單詞,假定字串中只含字母和空格,用空格來分隔單詞。

char

str[

255] = ;

printf("

請輸入乙個字串

:\n"

);scanf

("%[^\n]"

, str);

//    gets(str);

intmaxlength =

0, maxindex =0;

intlength =0;

inti =0;

while

(str[i] !=

'\0'

) else

length =0;

}i++;}if

(maxlength < length)

for(

intj = maxindex; j < maxindex + maxlength; j++)     

3、耶穌有13個門徒,其中有乙個就是出賣耶穌的叛徒,請用排除法找出這位叛徒:13人圍坐一圈,從第乙個開始報號:1,2,3,1,2,3...。凡是報到「3」就退出圈子,最後留在圈子內的人就是出賣耶穌的叛徒。請找出它原來的序號。

inta[13

] = ;

intnumber =13;

//記錄圈內剩餘的人數

intcount =0;

//通過計算器來模擬報數

inti =0;

//迴圈變數

while

(number >1)

if(count ==3)

i++;

if(i ==

13)

}for

(int

j =0

; j <

13; j++) }

4.將兩個排好序的陣列,合併到另外乙個陣列中,並且合併之後的陣列也是有序的。

inta[10

] = ;

intb[

10] = ;

intc[

20] = ;

//給陣列a賦值

for(

inti =

0; i <

10; i++)

//給陣列b賦值

for(

inti =

0; i <

10; i++)

//將陣列a排序

for(

inti =

0; i <10-

1; i++) }}

//將陣列b排序

for(

inti =

0; i <10-

1; i++) }}

//輸出陣列

afor

(int

i =0

; i <

10; i++)

printf(

"\n"

);//

輸出陣列

bfor

(int

j =0

; j <

10; j++)

printf(

"\n"

);//

將陣列a

和陣列b

合併到陣列c中

inti =

0, j =

0, k =0;

while

(i <

10&& j <

10)

else

}while

(i <

10)

while

(j <

10)

//輸出排序好的陣列

cfor

(int

m =0

; m <

20; m++)

5.有1000000個數,每個數取值範圍是0-999999

找出其中重複的數,重複次數。

//第一種方式

inta[

count

] = ;

intnumber =0;

for(

inti =

0; i <

count

; i++)

printf

("\n"

);for

(int

i =0

; i <

count

; i++) }

//第二種形式

inta[count

] = ;

for(

inti =

0; i <

count

; i++)

printf

("\n"

);int

temp =0;

//臨時變數

,用來儲存取出來的數

intcount =1;

//記錄重複的個數

for(

inti =

0; i <

count

; i++)

if(a[j] == temp) }if

(count >1)

} 2.找出乙個二維陣列中的「鞍點

」,即該位置上的元素在該行中最大,在該列中最小(也可能沒鞍點),列印出有關資訊。

int a[3][4] = ;

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

printf("\n");}//

遍歷陣列中的每個元素

,驗證每個元素是否是鞍點

.int count = 0; //

用來記錄鞍點的個數

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

}if (ismax == no)

//先假設是該列中最小的

.bool ismin = yes;

//驗證該數是否是該列中最小的

.for (int row = 0; row < 3; row++)

}if (ismin == no)

count++;

printf("row:%d,column:%d = %d\n", i + 1, j + 1, a[i][j]);}}

if (count == 0)

幾道經典的單鏈表習題(一)

1.反轉乙個單鏈表。public node reverse cur.next prev prev cur cur curnext return newhead 2.給定乙個帶有頭結點 head 的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間節點。public node mid...

c語言100道經典題目 C語言經典100題(5)

1 上期答案揭曉 include int main sum sum day 再加上某天的天數 if year 400 0 year 4 0 year 100 0 else if leap 1 month 2 printf 這是這一年的第 d 天。sum printf n 以上例項輸出結果為 請輸入年...

c語言100道經典題目 C語言經典100題(34)

1 上期答案揭曉 include include define max 1000 int prime max int isprime int n int isprime int n return 1 void sieve int isprimesieve int n int main 以上例項輸出結...