1. 程式人生 > >機試-一個字串中單詞反轉輸出

機試-一個字串中單詞反轉輸出

輸入一個字串,其中每個單詞使用空格分隔,結果使其單詞倒序輸出來。

樣例輸入: I am a boy 

樣例輸出: boy a am I

Note:使用了函式strtok(),函式strtok將字串分解為一系列標記(token),標記就是一系列用分隔符(delimiting chracter,通常是空格或標點符號)分開的字元。注意,此的標記是由delim分割符分割的字串。

函式strtok儲存string中標記後面的下一個字元的指標,並返回當前標記的指標。
在一行文字中,每個單詞可以作為標記,空格是分隔符。需要多次呼叫strtok才能將字串分解為標記(假設字串中包含多個標記)。第一次呼叫strtok
包含兩個引數,即要標記化的字串和包含用來分隔標記的字元的字串(即分隔符)下列語句:char *p;
char *except=" ";
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){