C語言在字串中找到最長單詞,c語言程式設計在乙個一直的字串中查詢最長的單詞,

2021-03-14 21:46:18 字數 3662 閱讀 7612

1樓:匿名使用者

實現本功能,需要按以下步驟進行程式設計:

1、確定單詞分隔符,一般情況為空格和標點符號,根據題目情況來確定標點符號是否算在單詞中。 假定單詞不包括標點符號,即全由字母組成

2、根據上面的特點,讀取乙個單詞

3、計算單詞長度

4、與當前最大單詞長度max(初值為0)比較,如果大於max,則記錄下當前單詞,並將其長度賦值給max

5、重複2-4,直到讀單詞結束(到字串尾)。

6、輸出最長單詞長度和單詞

7、例程:

#include

#include

#define m 1000

int main()

high_temp = i-1;

if(temp > count)

}for(i = low; i <= high; i++)return 0;}

2樓:匿名使用者

我新寫了乙個,你看下吧, 主要用到了strtok()這個函式, 這個函式在做字串切割時很有用的...

/*問題描述:

c語言 在字串中找到最長單詞

*/#include

#include

#include

#define max_string_len 100void findthemaxlen(char* string)printf("最長的字串是: %s\n", buf);

free(buf);

buf = null;

}void main()

;printf("請輸入乙個字串: \n");

gets(string);

findthemaxlen(string);}

3樓:匿名使用者

何必那麼複雜,一邊掃瞄輸入字串,一邊計算當前單詞的長度,如果當前單詞的長度大於記錄的長度,就把當前單詞存下來,看我的例程吧。(我的演算法判斷是否是單詞的依據是,只要不是英文本母的字元,就是單詞分割符,比如空格,逗號,句號,嘆號之類都是分隔符)

函式 isalphabetic 的作用是判斷乙個字元是否是26個英文本母中的乙個, 函式 func 的作用是掃瞄輸入字串,找到最長的那個單詞並列印。

#include

#include

int isalphabetic(char ch)return 0;

}void func(char *pstr)if (max_len < (j - i))i = j;

}else

}if (max_len > 0)

printf("longest word is \'%s\'\n", result);

}int main()

4樓:匿名使用者

#include

#include

#include

#include

void p(char *cs)

if (cs[0]=='\0')

}printf("最長的單詞為:%s\n",mp);

}int main(void)

5樓:匿名使用者

#include "stdio.h"

#include "string.h"

void main()

}else

}printf("the longest string is:\n");

for(i=maxlength;i!=0;i--)}

6樓:

#include

#include

#include

void p(char ch[80])

else

}while(ch[i]!=0);

start=mark-maxlen;

for(i=0;i

printf("%s",out);

} int main()

c語言程式設計在乙個一直的字串中查詢最長的單詞,

7樓:流浪兒

//申明乙個字元陣列抄

char str[50];

//從鍵盤襲

輸入英文單

詞bai

gets(str);

int i=0;

int word=0;//標識是du否為單詞 0表示為單詞,zhi1表示不是單詞

int count=0;//統計單詞個數dao//printf("當前輸入的英文句子是:");

//puts(str);

//迴圈遍歷

while (str[i] != '\0') else if (word == 0)

i++;}

8樓:小猥瑣之葉子

給出**:

#include

#include

int main()

len=0;

} else // 如果當前字元非空,如果當前長度為0,則表示新單詞。

}while (*p2 && *p2!=' ')printf("%c", *p2++);}

9樓:異祣情思

#include

#include

int main()

len=0;

} else // 如果當前字元非空,如果當前長度為0,則表示新單詞。

}while (*p2 && *p2!=' ')printf("%c", *p2++);}

10樓:晴雨微暖

p代表泊車檔du,停車時使用(zhi

關閉發動機時和較長時dao間怠速停車)!

r代表回倒車檔!

n代表空檔

,和手動檔答的空檔乙個意思,用於短暫停車時使用!

d表示前進檔,在d檔位下變速箱會在1~5檔根據速度和油門情況自動切換。

d3同樣是前進檔,可在交通不太通暢的時作為限制檔使用,可以避免3檔和4檔間的跳檔情況!

2表示2檔,此檔時,變速箱就在2檔上,用於濕滑路面起步,或者慢速前進時作為限制檔使用,可避免1和2檔以及2和3檔間的跳檔!

1就是1檔,此檔時,變速箱就在一檔。

c語言:編寫乙個函式實現在乙個字串中查詢最長的單詞的位置

11樓:匿名使用者

#include

#include

int main()

int alphabetic(char x)int longest(char str)if(len > maxlen)

}return start;}

12樓:匿名使用者

雖然我不是用c的但是我把我看完題目的思路跟你討論一下吧...

初始化最大字數max為0, 單詞數i=0

開始讀入, 如果單詞與單詞之間是用空格隔開的話那麼就是讀入單詞, 計字數n, 確定單詞位置i=i+1. 讀到空格, 停止.

如果字數n>max, 記錄你要的資訊, 比如單詞位置/單詞內容.

最長單詞位置p = n>max時候所讀入的單詞的序號i否則無視掉繼續讀.

讀到檔案末端/指定詞數, 跳出迴圈. 輸出結果總體而言感覺沒必要把所有資訊都儲存下來, 我只需要留住題目要求的最大字串的位置就可以了.

c語言字串中的空格算不算字元,C語言字串中的空格算不算乙個字元

baic語言規定,字串是用雙引號括 du起來的字串行zhi。由於空dao格也在字串中 在雙引號內 所以空格也算乙個字元。可以通過下面的程式段來驗證空格算不算乙個字元 char a abc efg printf d sizeof a 輸出8,6個字元 1個空格 1個字元結束標誌,sizeof函式是測試...

c語言字串程式設計問題

include int main for i 0 i a data i z data i a data i z continue for j i 1 j a data j z data j a data j z if itemp i else break for i itemp i 0 data i...

c語言中字串為什麼要有呢在字串中的

0 在字串中標誌著結尾 用來判斷這個字串已經結束 如果不新增 0 系統就在記憶體中一直向後讀,直到讀到 0 為止 這個情況就造成錯誤 乙個語句結束了,就用分號 表示結束啊 0 表示字串結束,乙個語句的結束是用乙個 號來表示的,如果是語句塊的話是用大括號來表示結束的。0在出入吸附石不會出現,輸出是也不...