當前位置:首頁 » 編程語言 » c語言程序去空格
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言程序去空格

發布時間: 2023-05-30 02:10:43

c語言 字元串去掉空格

//修改如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

voidtrimSpace(char*instr,char*outstr){
inti=0;
intj=0;//因為去掉空格後的字元串的字元個數和去掉空格之前不一樣,需要額外增加一個變數用來標記下標。
for(i=0;i<(int)strlen(instr);i++)
{
if((int)(*(instr+i))==32)
{
continue;
}
else{
*(outstr+j)=*(instr+i);
j++;
}

printf("%c",*(outstr+i));//這個位置可以列印出來去掉空格之後的字元串

}

*(outstr+j)='';
printf("%s",*outstr);//這個位置再列印就是null了求解為什麼感謝

}

voidmain(){
char*p1="abcdefgdddd";
charp2[100]={0};
trimSpace(p1,p2);
//printf("%s",p2);
getchar();
}

㈡ C語言程序設計刪除空格

遍歷字元串,遇到空格,即進行刪除。

可以使用第二個字元數組來保存結果,對空格不復制;也可以不使用第二個字元數組,而是採用後續字元覆蓋空格字元的方式,達到刪除效果。

以效率更高的第二種方法為例,代碼如下:

voiddel_space(char*s)
{
char*p=s;
do{
if(*s!='')*p++=*s;
}while(*s++);
}

㈢ C語言-刪除字元串空格

①目標

要族謹塌刪除字元串中的所兆圓有空格,

就要篩選出空格字元。

要篩選,就要對首字元做標記。

要所有空格,就要遍歷。

~

②命令行

#include< stdio.h>

#include< stdlib.h>

#include< ctype.h>

~

③定義函數

void fun(char *str)

{int i=0;

char *p;

/*標記:p=str表示指針指向字元串首地址做標記*/

for(p=str;*p!='\0';p++)

/*遍歷:不等於'\0'表示只要字元串不結束,就一直p++。*/

if(*p!=' ')str[i++]=*p;

/*刪除:如果字元串不等於空格,即有內容就存入字元串。等於空格就不儲存,但是指針還是p++繼續後移,跳過儲存空格相當於刪除。*/

}

void fun(char *str)

{int i=0;

char *p=str;

while(*p)

{if(*p!=' ')str[i++]=*p;

p++;}

/*除了for循環遍歷,也可while循環遍歷。注意 p++在if語句後,不然晌鏈會漏掉第一個字元。*/

str[i]='\0';

/*循環完畢要主動添加'\0'結束字元串。*/

~

④主函數

viod main()

{char str[100];

int n;

printf("input a string:");

get(str);

puts(str);

/*輸入輸出原字元串*/

fun(str);

/*利用fun函數刪除空格*/

printf("str:%s\n",str);

㈣ C語言中去掉空格問題

/*去除字元串右邊空格*/
void
vs_strrtrim(char
*pstr)
{
char
*ptmp
=
pstr+strlen(pstr)-1;
while
(*ptmp
==
'
')
{
*ptmp
=
'\0';
ptmp--;
}
}
/*去除字元串左邊空格*/
void
vs_strltrim(char
*pstr)
{
char
*ptmp
=
pstr;
while
(*ptmp
==
'
')
{
ptmp++;
}
while(*ptmp
!=
'\0')
{
*pstr
=
*ptmp;
pstr++;
ptmp++;
}
*pstr
=
'\0';
}

㈤ c語言中把文件中的空格去除

第一種:使用位域限制讀取的長度;

第二種:可以直接按照結構體來讀寫;

實例代碼如下:

#include"stdafx.h"
#include<cstdio>
#include<cstdlib>
#include<cstring>

structRoommate{
charname[6];
charNO[8];
charaddr[10];
};


int_tmain(intargc,_TCHAR*argv[])
{
structRoommateRom[2]={0};
FILE*file=NULL;
if(!(file=fopen("a.txt","w"))){
printf("CreateFilefailed! ");
exit(-1);
}

printf(":NameNOAddr ");
for(inti=0;i<2;++i){
scanf("%s%s%s",Rom[0].name,Rom[0].NO,Rom[0].addr);
fwrite((constvoid*)&Rom[0],sizeof(structRoommate),1,file);
}
fclose(file);
/*Readfromfile*/
file=NULL;
if(!(file=fopen("a.txt","r"))){
printf("CreateFilefailed! ");
exit(-1);
}
printf("Readfromthefile:NameNOAddr ");
fread((void*)Rom,sizeof(structRoommate),2,file);
for(inti=0;i<2;++i){
printf("i=%dName:%s NO:%s Addr:%s ",i,Rom[i].name,Rom[i].NO,Rom[i].addr);
}
fclose(file);

while(getchar());
return0;
}

㈥ C語言中輸出的時候如何去掉最後一個空格

你不要這樣輸入printf("%d",x);
你應該是循環的吧
舉個例子
for

先定義count=0;
for(i=1;i<=n;i++)
{
if(count!=0)
printf("");這里輸入空格
然後輸printf("%d",x);
count++;

這樣就保證了第一個數前面沒有空格最後一個數後面也沒空格只有數字之間有空格

㈦ C語言去空格

char str[100][10000];
int i=0,j;
while(getchar()!=EOF)
gets(str[i]);
i++;
這跡鏈一塊改成虛州茄差察
char str[100][10000];
char c;
int i=0,j;
while((c=getchar())!=EOF)
{
str[i][0]=c;
gets(str[i]+1);
i++;
}

㈧ C語言 空格刪除

#include<stdio.h>
#include<string.h>
intstrdel(char*s);
intmain()
{
chara[100];
intn;
gets(a);
n=strdel(a);
puts(a);
printf("%d",n);
return0;
}
intstrdel(char*s)
{
inti,j=0,k=0,n;
char*p=s;
n=strlen(s);
for(i=0;i<n;i++)
{
if(*(p+i)=='')
{
j++;
continue;
}
else
{
*(s+k)=*(p+i);
k++;
}
}
*(s+k)='';
returnj;
}

㈨ 請用C語言編寫一個函數,用來刪除字元串中的所有空格,加上注釋喲

很簡單的程序,遍歷輸入字元串。
1、如果字元不是空格,就賦值到輸出字元串中。
2、如果是空格,就跳過這個字元。
例如:
#include <stdio.h>
#include <string.h>

int main()
{
const char * input = "Hello World! Welcome To Beijing!";
char output[1024];
int i, j, input_len;

input_len = strlen(input);
j = 0;
for(i = 0; i < input_len; i++)
{
if (input[i] != ' ')
{
output[j] = input[i];
j++;
}
}
output[j] = '\0';

printf("Input string is: %s\n", input);
printf("After spaces were removed: %s\n", output);
return 0;
}

具體的輸出效果為:
Input string is: Hello World! Welcome To Beijing!
After spaces were removed: HelloWorld!WelcomeToBeijing!

㈩ c語言去掉字元串的空格函數trim

c語言去掉字元串的空格函數 void trim(char *s){} 如下:
#include <stdio.h>
void trim(char *s){
int i,L;
L=strlen(s);
for (i=L-1;i>=0;i--) if (s[i]==' ')strcpy(s+i,s+i+1);
}
int main(){
char s[100];
printf("input 1 line string\n");
gets(s);
trim(s);
printf("%s\n",s);
return 0;
}
例如:
input 1 line string
abc 123 XYZ |
輸出:abc123XYZ|