当前位置:首页 » 编程语言 » 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|