C語言練習之刪除字元間多餘的空格
阿新 • • 發佈:2019-01-08
/* *Copyright(c) 2016,煙臺大學計算機學院 *All rights reserved. *作 者:劉金石 *完成日期:2016年4月22日 *版本 號:v1.0 *問題描述:刪除字串間多餘的空格 */ //方法一:改變原來的字串 #include <string.h> #include<stdio.h> int main() { void delSpace(char sentence[]); char sentence[1000]; gets(sentence); delSpace(sentence); puts(sentence); return 0; } void delSpace(char sentence[]) { int l=strlen(sentence),k=0,i=0; char a[100]; for(i=0;i<l;i++) if(!(sentence[i]==32&&sentence[i+1]==32)) { a[k]=sentence[i]; k++; } a[k]='\0'; if(a[0]==32) { for(i=0;i<k;i++) a[i]=a[i+1]; a[k]='\0'; } strcpy(sentence,a); } //方法二:不改變原來的字串 #include <string.h> #include<stdio.h> int main() { void delSpace(char sentence[]); char sentence[1000]; gets(sentence); delSpace(sentence); return 0; } void delSpace(char sentence[]) { int i=0,k; if(sentence[i]==' ') { while(1) { if(sentence[i]!=' ') { break; } i++; } } k=i; for(;sentence[k]!='\0';k++) { if(!(sentence[k]==32&&sentence[k+1]==32)) { printf("%c",sentence[k]); } } }
執行結果: