機試-一個字串中單詞反轉輸出
輸入一個字串,其中每個單詞使用空格分隔,結果使其單詞倒序輸出來。
樣例輸入: I am a boy
樣例輸出: boy a am I
Note:使用了函式strtok(),函式strtok將字串分解為一系列標記(token),標記就是一系列用分隔符(delimiting chracter,通常是空格或標點符號)分開的字元。注意,此的標記是由delim分割符分割的字串。
函式strtok儲存string中標記後面的下一個字元的指標,並返回當前標記的指標。在一行文字中,每個單詞可以作為標記,空格是分隔符。需要多次呼叫strtok才能將字串分解為標記(假設字串中包含多個標記)。第一次呼叫strtok
p = strtok(ch,except);
後面再呼叫strtok時,第一個引數為NULL,繼續將string標記化。NULL引數表示呼叫strtok繼續從string中上次呼叫 strtok時儲存的位置開始標記化。 p = strtok(NULL,except);
如果呼叫strtok時已經沒有標記,則strtok返回NULL。注意strtok修改輸入字串,因此,如果呼叫strtok之後還要在程式中使用這個字串,則應複製這個字串。
關鍵函式,那就上 程式碼吧,不實踐無真理!!!
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char ch[1000]={0}; char *ptr[100]={0}; int i=0; gets(ch); char *except=" "; char *p; if(*ch == 0) return 0; p = strtok(ch,except); while(p != NULL) { ptr[i++] = p; p = strtok(NULL,except); } for(i=i-1;i>0;i--) printf("%s ",ptr[i]); printf("%s",ptr[i]); return 0; }
分兩次輸出是為了,在最後的輸出沒有空格。
相關推薦
機試-一個字串中單詞反轉輸出
輸入一個字串,其中每個單詞使用空格分隔,結果使其單詞倒序輸出來。 樣例輸入: I am a boy 樣例輸出: boy a am I Note:使用了函式strtok(),函式strtok將字串分解為一系列標記(token),標記就是一系列用分隔符(delimiting
牛客網 - 線上程式設計 - 華為機試 - 刪除字串中出現次數最少的字元
題目描述 實現刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。 輸入描述: 字串只包含小寫英文字母, 不考慮非法輸入,輸入的字串長度小於等於20個位元組。 輸出描述: 刪除字串中出現
統計一個字串中單詞的個數(C語言)
#include<stdio.h> #include<stdlib.h> int main() { int num = 0, word = 0; char *p = NULL; p = (char *)malloc(sizeof(char)*100);
python1.返回一個字串中出現次數第二多的單詞 2.字串中可能有英文單詞、標點、空格 3.字串中的英文字元全部是小寫
import re from collections import Counter def second_count_word(s): # # 利用正則按標點和空格切割,有其他標點可以新增到[]內 # lt = re.split('[ ,.:]',s) # # 利用Counter
輸出一個字串中最長的雙節棍字串
形似如同aa..bb..c..,其中字元a的個數等於字元c的個數,字元b的個數小於他們的個數。例如aaabbccc, AAABCCC等。求一個字串中最長的雙節棍字串。 思路: 找出該字串中每個字元出現了多少次,判斷其中雙節棍字串,找出長度最大的雙節棍字串。
java中輸出一個字串中出現次數最多的字元以及次數
1 先把字串轉化為陣列 .toCharArray 2 定義一個數組count[i] 存取每個字元 以及數量 count[i]++ 3 計算每個字元 以及值 4 取count的最大值 public class MaxString { public sta
寫一函式,將一個字串中的母音字母複製到另一個字串,然後輸出。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (sc
統計一個字串中每個字元出現的次數,並按出現的次數降序輸出統計結果
/* * * 如統計 abdc2223333ddd 輸出如下統計結果 字元3出現了4次 字元d出現了4次 字元2出現了3次 字元b出現了1次 字元c出現了1次 字元a出現了1次 */ public class CharacterCountTest { public static
Java 統計一個字串中每個單詞,或者字母出現的次數
package cn.itcast.demo24; import java.util.HashMap; /* * 用程式碼實現以下需求(1)有如下字串"If you want to change your fate I think you must come to the
Python 實現 找出一個字串中出現次數最多的字元並輸出該字元
'''演算法題二: 找出一個字串中出現次數最多的字正確的解決思路是: 利用collections 工具中的Counter,對列表中元素出現的頻率進行排序。 Counter返回值是一個按元素出現頻率降序排列的Counter物件,它是字典的子類,因此可以使用字典的方法'''fro
編寫子函式,能將一個字串中的大寫字元變為小寫字元,而小寫字元變為大寫字元。主函式中要求能輸入字串,並輸出變換後的字串。
#include<stdio.h>int main(){ void change(char m[32]); int i; char m[32]; gets(m); change(m); printf("%s\n",m); return 0;}void change
【Java】編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數
/* * 作者:筱筱 * 日期:20170507 * 功能:編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數。 */ public class Aa3Count { public static void main(S
編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數。
import java.util.Scanner;public class CountString{ public static void main(String[] args){ int uletter = 0;//儲存大寫字母 int l
寫一函式,將一個字串中的母音字母複製到另一個字串,然後輸出
ae #include<stdio.h> #include<string.h> void str(char a[100],char b[100]) { int i=0, j=0; while(a[i]!='\0')//'\0'代表ASCLL碼0的字元,即是一個空操作符也就是是結束符;
取出一個字串中字母出現的次數。如:字串:"abcdekka27qoq" ,輸出格式為: a(2)b(1)k(2)
package com.heima.test; import java.io.FileWriter; import java.io.IOException; import java.util.Comp
Java:在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。
在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。 package com.jredu.ch12; /** * 題目:在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。 * @author Administrator
java編寫輸出一個字串中大寫英文字母數、小寫英文字母數以及非英文字母數
下面用了三種演算法實現,執行效率逐漸提高... 第一種: public class TestString { public static void main(String[] ar
統計一個字串中一共多少個單詞
int Words(const char *str) { int i = 0; int count = 0; for (i=0; str[i]!='\0';i++) { if (isalp
華為機試:字串的連接最長路徑查找
too 小寫 while arrays 空間 i++ har cap over 這個題更應該叫做字符串字典序排序 題目描述 給定n個字符串,請對n個字符串按照字典序排列。 輸入描述: 輸入第一行為一個正整數n(1≤n≤1000),下面n行為n個字符串
演算法之“統計字串中單詞的個數”
如,給定String,求此字串的單詞數量。字串不包括標點,大寫字母。例如String str="hello world hello hi";,單詞數量為3,分別是:hello world hello hi 。 public static void main(String[] args){