簡單的字串處理
小菜雞第一次被迫寫個題解,請大佬批評指正
**題目:**你的程式要讀入一行文字,其中以空格分隔為若干個單詞,以.結束。你要輸出每個單詞的長度。這裡的單詞與語言無關,可以包括各種符號,比如it’s算一個單詞,長度為4。注意,行中可能出現連續的空格;最後的.不計算在內。
輸入格式:
輸入在一行中給出一行文字,以.結束
提示:用scanf("%c",…);來讀入一個字元,直到讀到.為止。
輸出格式:
在一行中輸出這行文字對應的單詞的長度,每個長度之間以空格隔開,行末沒有最後的空格。
輸入樣例:
It’s great to see you here.
輸出樣例:
4 5 2 3 3 4
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c;
int n,flag=1;
char jump=' ';
char end='.';
scanf("%c",&c);//先輸讀一個人字元,就不要擔心後面輸出要減一
while(c!=end)//讀到字元'.'程式就截止
{
if(c==jump)
{
if(n!=0)//判斷遇見的空格後判斷是不是多個空個
if(flag==1)//判斷是不是第一個字元
{
printf("%d",n);
flag=0;
}
else
{
printf(" %d",n);//如果不是第一個字元則先輸出空格
}
n=0; //每遇到一次空格就清零
}
else
{
n++;//遇到的不適空格則加一
}
scanf("%c",&c);//持續輸入字元直到遇到end
}
if(n!=0)//當遇到end時候最後一次的單詞個數沒有輸出,所以再做一次判斷輸出最後一個的單詞個數
{
if(flag==1)
printf("%d",n);
else
printf(" %d",n);
}
return 0;
}
連續多個空格卡了這個測試點是我沒想到的,所以被卡了蠻久了
解題思路:
根據題目給的提示用%c,一個字元一個字元的讀取,然後考慮每遇到一次空格就要輸出一次並且清零,然後就是要判斷是否是第一個字元,是就不輸出空格,直接輸出個數。最後就是多空格問題了,這裡多空格要忽略只當遇到一個空格處理。
相關文章
- 簡單的文字處理
- 串的簡單處理
- ORACLE的簡單處理高水位Oracle
- 字串處理字串
- 基於Opencv的簡單影像處理OpenCV
- Java的簡單理解(22)---處理流Java
- 簡單實現批處理
- Java經典例項:處理單個字串Java字串
- 字串-簡單字串排序字串排序
- 字串的封送處理字串
- shell中字串的處理字串
- 處理字串的小程式字串
- 簡單批處理內部命令簡介
- awk 字串處理字串
- abap 字串處理字串
- android簡單的圖形特效處理Android特效
- iOS換膚功能的簡單處理框架iOS框架
- TensorFlow進行簡單的影像處理
- 包含(處理)HTML的最簡單方法包括HTML
- 使用Lambda表示式處理簡單的業務
- 影象處理庫GPUImage簡單使用GPUUI
- php 處理訊號簡單演示PHP
- windows批處理之一:字串處理Windows字串
- 字串-簡單字串比較字串
- JavaScript常用的字串處理方法JavaScript字串
- sql對於字串的處理SQL字串
- Rust中錯誤處理的最簡單指南Rust
- 簡單的全域性異常統一處理
- 處理一些編譯警告的簡單編譯
- MySQL:簡單記錄訊號處理MySql
- jstl處理字串JS字串
- javascript字串處理類JavaScript字串
- LoadRunner字串處理 - 補齊字串字串
- 圖片處理擴充套件 Grafika 的簡單使用套件
- java 如何簡單快速處理 xml 中的資料JavaXML
- 使用python進行簡單的媒體處理Python
- MongoDB觸發oom-killer的簡單處理(一)MongoDBOOM
- 一個慢查詢報警的簡單處理