1樓:蓋可欣曠念
您好,變數word在這個程式中是作為判斷是否是單次出現的,所以當word等於0的時候就說明當前處於乙個單次的範圍內,所以程式的執行順序是這樣的:
迴圈陣列中的每乙個字元。
第一次迴圈,word初值襪數是0,進入else
if的判斷,代表單詞數量的變數num+1,代表這個單詞出現,同時將word的值賦值為1,這樣到下乙個不是空格的字元時,都不會進入判斷,也就是說,這個單次中的其他字元遍歷的時候都不會增加num的計數。
當遇到第乙個空格的時候,word的值被賦值為0,此時不會進入當次迴圈的elseif了。
進入下一次迴圈,word的值現在是0,所以判斷中是符合else
if的條件的,word又被賦值為1,計數器num+1,直到碰到下乙個空格之前,word的值都會一直是1.
您覺得奇怪的原因很簡單,在這個程式中,程式設計的人把0和1的順序畢好公升寫反了,當前確定是字元的時候,反而word的值是0,手老加上您可能對迴圈判斷的順序迷惑,所以才會有這樣的疑問。
程式設計題:給定字串s,其內容為英語長句,其中包含英語單詞,標點符號,空格等內容,每個英語單詞使用標
2樓:網友
兩個思路:
逐個查詢標點或者空格(連續分隔符算乙個),然後分類儲存;
直接用語言)中的strchr和substr(這個需要自定義)來劃分單詞。
編寫程式,輸入字串(包含空格),統計其中單詞的個數,單詞之間以乙個或多個空格分隔。
3樓:用著追她
1、首先,定義乙個整型變數,儲存找到的字串位置。
2、定義兩個字串變數,儲存要查詢的字串,以及是否包含的單詞。
3、輸入查詢的字串,儲存在變數str中。
4、輸入要查詢的單詞,儲存在word中。
5、查詢單詞在字串中的起始位置,儲存在變數p中。
6、如果p的值為-1,則輸出字串中沒有要找的單詞。
7、然後,將查詢到的單詞替換為英文name。
8、最後,輸出替換後的字串。
用matlab語句編寫程式,要求輸入字串後顯示一
你是不是想對16進位制資料進行二進位制轉換啊,我這裡有這個程式,可以試試這個 16進位制轉10進位制 轉化方法一 a textread c a.txt s 以字元形式開啟檔案 alpha hex2dec a 16進位制轉化為10進位制數,存入alpha矩陣 16進位制轉10進位制 轉化方法二 wen...
C語言程式設計編寫程式,輸入正整數,統計該整數的位數並
include int main else printf d n k 1 輸出整數的回位答數for i 0 i k 1 i printf d n sum 輸出各位數的和 return 0 c語言程式設計 編寫程式,輸入一個正整數,統計該整數的位數並計算其各個數位上的數字之和。要求每行講 includ...
急!用VB編寫程式,對輸入的字串進行識別,找出其中大寫字母 小寫字母 空格 數字及其他字元的個數
遍歷字串,比較其ascii,分別用不同的變數 參考 dim intnumber as integer,intucase as integer,intlcase as integer,intspace as integer dim i as integer,strtmp as string intnu...