『壹』 c語言輸入一段英文,單詞之間有很多空格或者是換行,要求去掉不該出現的空格或者是換行。
很久沒碰C語言,可能有些思路不對,但我盡量按照C語言的方式給出思路:C應該是數組的形式存儲字元串,那麼你可以給一個flag,我給出大概的Python代碼的實現邏輯:
遷移到C語言的邏輯實現也一樣。
大概就是這個思路。如果你的目的是存到另一個數組,那麼可以先計算出目標數組的長度,記得C語言要求在定義時給出長度,計算方式類似於上面的列印邏輯。再將元素添加進去
『貳』 用C語言編輯,輸入一個英文句子,刪除句子的前導空格和後導空格,並使單詞之間只有一個空格。
#include "stdio.h"
void RemoveBlank(char* szWords)
{
char *pszRead, *pszWrite;
int bBlankFlg;
bBlankFlg = 0;
pszWrite = pszRead = szWords;
while(' ' == *pszRead) pszRead++;
while('\0' != *pszRead)
{
if(' ' != *pszRead)
{
if(bBlankFlg)
{
bBlankFlg = 0;
*pszWrite = ' ';
pszWrite++;
}
*pszWrite = *pszRead;
pszWrite++;
}
else if(!bBlankFlg)
bBlankFlg = 1;
pszRead++;
}
while(pszWrite < pszRead) *(pszWrite++) = '\0';
}
int main()
{
//char* szSrc = " Hello , my name is Bill. ";
char szWords[100] = {0};
//strcpy(szWords, szSrc);
gets(szWords);
RemoveBlank(szWords);
printf(szWords);
//system("pause");
return 0;
}
『叄』 C語言刪除空格問題
對源字元串進行逐一字元自己向自己拷貝操作,遇到空格時跳過即可完成。舉例代碼如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
charstr[]="Moonlightisinbrontofmybed.1234567890";
inti,j;
for(j=i=0;str[i];i++)
if(str[i]!='')
str[j++]=str[i];
str[j]='