1樓:
**文字:
#include "stdio.h"
#define n 1000
int main(int argc,char *argv){char s[n+1],ch;
int k,t,n;
printf("enter a text...\n");
for(n=0;nif((ch=getchar())=='\n')break;
s[n]=ch;
s[n]='\0';
for(t=k=0;n;n--){
if(s[n]>='a' && s[n]<='z' || s[n]>='a' && s[n]<='z')
t++;
else
t>k ? k=t,t=0 : t=0;
if(t>k)
k=t;
printf("%d\n",k);
return 0;
2樓:
這題目的意思不是很明確,單詞的定義是什麼?是否包含字母和其它非空格字元的串也算一個單詞?還有就是空輸入輸出的問題,圖上有no input!
和no output!字樣又是什麼意思?
比如我不輸入任何東西直接回車,或者只輸入一堆空格,這種情況下max就是0,要不要輸出?
試試我這個吧,有兩個假定:1、除了空格其它字元都算單詞;2、輸入空串直接返回,不輸出。
如果不行,那就假定其它字元不算單詞,把下面這部分
while ((*s != ' ') && (*s != 0)) //當非空格且字串未結束,累加l
替換成while ((('a' <= *s) && (*s <= 'z')) || (('a' <= *s) && (*s <= 'z'))) //當字母且字串未結束,累加l
if (*s)
s++; //非空格、非字母、非'\0',也跳過
再試試,反正各種假定都試一下
#include
void main()
if (l > max)
max = l;
}//if (max > 0) //也可以試試這個條件:輸入串中沒有任何單詞不輸出
printf("%d", max);}
3樓:羽絨服
是不是題目還有其他要求啊
c語言 在字串中找到最長單詞
4樓:匿名使用者
實現本功能,需要按以下步驟進行程式設計:
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;}
5樓:匿名使用者
我新寫了一個,你看下吧, 主要用到了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);}
6樓:匿名使用者
何必那麼複雜,一邊掃描輸入字串,一邊計算當前單詞的長度,如果當前單詞的長度大於記錄的長度,就把當前單詞存下來,看我的例程吧。(我的演算法判斷是否是單詞的依據是,只要不是英文字母的字元,就是單詞分割符,比如空格,逗號,句號,歎號之類都是分隔符)
函式 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()
7樓:匿名使用者
#include
#include
#include
#include
void p(char *cs)
if (cs[0]=='\0')
}printf("最長的單詞為:%s\n",mp);
}int main(void)
8樓:匿名使用者
#include "stdio.h"
#include "string.h"
void main()
}else
}printf("the longest string is:\n");
for(i=maxlength;i!=0;i--)}
9樓:
#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語言程式設計在一個一直的字串中查詢最長的單詞, 10樓:流浪兒 //申明一個字元陣列抄 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++;} 11樓:小猥瑣之葉子 給出**: #include #include int main() len=0; } else // 如果當前字元非空,如果當前長度為0,則表示新單詞。 }while (*p2 && *p2!=' ')printf("%c", *p2++);} 12樓:異祣情思 #include #include int main() len=0; } else // 如果當前字元非空,如果當前長度為0,則表示新單詞。 }while (*p2 && *p2!=' ')printf("%c", *p2++);} 13樓:晴雨微暖 p代表泊車檔du,停車時使用(zhi 關閉發動機時和較長時dao間怠速停車)! r代表回倒車檔! n代表空檔 ,和手動檔答的空檔一個意思,用於短暫停車時使用! d表示前進檔,在d檔位下變速箱會在1~5檔根據速度和油門情況自動切換。 d3同樣是前進檔,可在交通不太通暢的時作為限制檔使用,可以避免3檔和4檔間的跳檔情況! 2表示2檔,此檔時,變速箱就在2檔上,用於溼滑路面起步,或者慢速前進時作為限制檔使用,可避免1和2檔以及2和3檔間的跳檔! 1就是1檔,此檔時,變速箱就在一檔。 加百列 一 問題描述 從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。1 輸入 第一行是一個字串 第二行是一個字元。2 輸出 刪除指定字元後的字串。二 設計思路 1 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。2 用gets函式輸... 大野瘦子 include char a 10 123 char b 10 abc char c 20 strcpy c,a 把串a複製到有足夠空間的c中strcat c,b 把b連線到c的串尾需要注意的事項 c的長度一定要能夠容納要轉換的數字的長度,比如下面的例子,c的長度至少為8 1234567 ... 娛樂小八卦啊 c語言,字串常量 t name address n 的長度為15。strlen hello word 字串為 hello word 這種字串常量,系統會在其後自動補上 0 但是求字串長度的函式strlen 只要遇見 0 就會返回函式值,0 不算在其中。所以返回值為10 空格也算乙個字元...c語言刪除字串中指定字元,C語言刪除字串中指定字元
c語言中字串連線怎麼解決,C語言中字串連線怎麼解決??
c語言,字串常量」t」name address n