C語言 在已知字串中找最長單詞
程式設計在一個已知的字串中找最長單詞,假定字串中只含字母和空格,空格用來分隔不同單詞。
比如:"ni hao world",最長單詞是5個字母
這個題目其實不難,但是很多初學者會沒有思路,我把這個分享出來.編譯器用的是xCode.
int length = 0, temp =0; char str[100] ="";//xCode中沒有String 用字元陣列來表示 gets(str); // 獲取字串 for (int i =0; i < strlen(str); i++) { if (!((isalpha(str[i])) || (str[i] ==' '))) { // 驗證輸入是否為字母或空格 printf("⚠️ Notify: just input with letter or space\n"); return 0; // 輸入不合法 結束 } elseif (str[i] == ' ') {// 遇到空格則長度清0 length = 0; } else { length++;// 不是空格,長度+1 if (length > temp) { //若出現長度更長的單詞則記錄 temp = length; } } } printf("longest: %d",temp);// 輸出最長單詞字母個數
相關推薦
C語言 在已知字串中找最長單詞
程式設計在一個已知的字串中找最長單詞,假定字串中只含字母和空格,空格用來分隔不同單詞。 比如:"ni hao world",最長單詞是5個字母 這個題目其實不難,但是很多初學者會沒有思路,我把這個
資料結構--C語言--已知線性表中的元素以值遞增有序排列,並以單鏈表作儲存結構。試寫一高效演算法,刪除表中所有值大於mink且小於maxk的元素
#include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 #define LEN sizeof(struct LNode) struct LNode{ int data;//資料域 struct
C語言_輸出字串中最長的一個大小寫字母組合
首先讀一個字元,判斷該字元是否為字母: 如果該字元為字母,則存入字母緩衝區,如果該字母后面為結束符,則記錄該字母組合的長度、起始和結束下標。 如果該字元不是字母,但該字元的前一個字元是字母,則記錄該字母組合的長度、起始和結束下標。清空字母緩衝區。 如果該字元不是字母且其
C語言編寫 刪除字串中的子串
輸入2個字串S1和S2,要求刪除字串S1中出現的所有子串S2,即結果字串中不能包含S2。 輸入格式: 輸入在2行中分別給出不超過80個字元長度的、以回車結束的2個非空字串,對應S1和S2。 輸出格式: 在一行中輸出刪除字串S1中出現的所有子串S2後的結果字串。
C語言求10個數中的最大數
#include <stdio.h> int main() { int max; int a[10]={1,20,3,4,5,6,7,8,9,10}; max=a[0]; for(int i=1;i<10;i++) { &
尋找一個字串中的最長重複子串(字尾陣列)&找出一個字串中最長不重複子串
一、尋找一個字串中的最長重複子串(字尾陣列) 字尾陣列其實可以看尋找一個字串中的最長重複子串(字尾陣列)作一個由字串s倒數i個字元組成的子串的集合,其中0<i<s.length(),例如 字串strstr的字尾陣列為: {r,tr,str,rstr,trstr,
找數字串:找出字串中連續最長的數字串
【面試題目】請在一個字串中找出連續最長的數字串,並把這個串的長度返回:如果存在長度相同的連續數字串,返回最後一個連續數字串。 【函式原型】unsigned int continumax(char *pOutputstr, char *inputstr); 注意:數字串只需要
C語言求出陣列中的最大值和次大值!
#include<stdio.h> //改陣列大小隻需要修改 N後面的數字 #define N 5 int main(void){ int arr[N]={5,6,8,3,9}; int max= 0; //定義最大值並賦值 int mid= 0
Leetcode演算法題(C語言)15--字串中的第一個唯一字元
題目:字串中的第一個唯一字元 給定一個字串,找到它的第一個不重複的字元,並返回它的索引。如果不存在,則返回 -1。 案例: s = “leetcode” 返回 0. s = “loveleetco
找出字串中的最長連續數字子串
題目 給出一個字串作為輸入,找出其中最長的連續數字串並返回其長度和起始index。如果存在長度相同的連續數字串,返回最後一個連續數字串。如果沒有,返回0和0。 Analysis 對於這道題目,首先我們需要進一步縮小題目範圍。題目中並沒有給出字串中的
C語言 求一批整數中出現最多的個位數字
任務描述 給定一批整數,分析每個整數的每一位數字,求出現次數最多的個位數字。例如給定3個整數1234、2345、3456,其中出現最多次數的數字是3和4,均出現了3次。 功能要求 ①輸入格式:
C語言實現去除字串中空格
去除字串中所有空格 voidVS_StrTrim(char*pStr) { char *pTmp = pStr; while (*pStr != '/0') { if (*pStr != ' ') { *pTmp++ = *pStr; } ++pStr; } *pTmp = '/0';
演算法學習——尋找字串中的最長迴文子串
文章轉載自公眾號《網際網路偵查》 /** * @author xiaoshi on 2018/9/24. * Happy Mid-Autumn Festival */ public class PlalindromeString { // 判斷一個字串是否迴文,演算法中用
Python 字串中相鄰最長的長度
基本操作 基本思路就是後面的字元和前面的字元相比,一樣的加一,不一樣的重新開始 程式碼如下 import string def long_repeat(line): """ length the longest substring that consi
Manacher演算法(一個字串中找到最長迴文子串)
零、預備知識 Manacher用於在一個字串中找到最長的迴文子串。 迴文串:正著念和反著念一樣,例如aabbaa,anna等。 注意子串與子序列的區別: 子串必須是在原字元中可以找到的。比如 " I am a student"。am是子串(當然也是子序列),但是aa就不是子串了(是
如何找到字串中的最長迴文子串?
小史: 只要先對比第一個字元和倒數第一個字元,再對比第二個字元和倒數第二個字元,以此類推。如果都相等,那就是迴文串了。 題目:給你一個字串,找出裡面最長的迴文子串。 例如,輸入abcdcef,那麼輸出應該是cdc; 輸入ada
程式設計珠璣: 15章 字串 15.2尋找字串中的最長重複子串 -------解題總結
#include <iostream> #include <stdio.h> #include <sstream> #include <stdlib.h>//qsort using namespace std; /* 問題:
字串中查詢最長迴文子串完整程式碼
#include <stdio.h> #include <string.h> #include <malloc.h> int Min(int a,int b) { return ((a-b)?b:a); } char* huiw
求字串中的最長不重複子串
題目描述: 給定一字串只包含數字,請寫一個演算法,找出該字串中的最長不重複子串(不重複是指子串中每一元素不同於子串中其他元素) 如:“120135435”最長不重複子串為 “201354”
從一個英文字串中找出每個單詞出現的頻率
import java.util.*; public class Lookup{ public static void main(String[] args){ String s = "the instruction set of the Java virtual machine