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 以上例項輸出結...