C语言:输入一个字符串放入数组里,删除其中的空格

供稿:hz-xin.com     日期:2025-01-14
c语言 输入一个字符串,删除该字符串中的所有空格并输出处理后的字符串

int main()
{
char s[1024],c[1024];
int len,n=0,i;
char p,q;
p=s;q=c;
printf(“请输入字符串的长度:”);
scanf("%d",&len);
printf(“请输入一串字符串:”);
for(i=0;i<len+1;i++)
{
scanf("%c",p+i);
}
for(i=0;i<len+1;i++)
{
if((p+i)>=48&&(p+i)=97&&(p+i)<=122)
{
(q+n)=(p+i);
n++;
}
}
for(i=0;i<n+1;i++)
{
printf("%c",*(q+i));
}
}

c语言编程技巧
1、函数参数
在设计函数时,通常将目的参数放在前面,源参数放在后面。若可能,通过IN、OUT这样的宏定义来标注参数输入输出。
如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。
2、函数中内存处理
(1)在函数中分配的内存,在函数退出之前要释放
(2)return语句不可返回指向“栈内存”的指针或者引用,因为该内存在函数体结束时被自动销毁。

程序源码如下:
#include
#include
int main(void)
{
char str[1000];//定义一个字符串数组
char strnew[1000];//定义一个备用字符串数组
char m[] = " ";//定义空格变量
printf("请输入一串字符:");//文字提示输入字符串
gets(str);//输入字符串
char *p = strtok(str,m);//取str与m的指针
printf("%s
",p); //输出
p = strtok(NULL,m);
while(p) //遍历输出
{
printf("%s
",p); //输出字符串
p = strtok(NULL,m); //指向下一个
}
}
程序输出结果:


扩展资料:
C语言:输入一个字符串放入数组里,删除其中的空格
#include
#include
#define N 100
void main()
{
int i=0,j;
char c,str[N];
printf("输入字符串str:
");
while((c=getchar())!='
')
{
str[i]=c;//输入字符串
i++;
}
str[i]='\0';
for(i=0;str[i]!='\0';i++)
{
if(str[i]==' ')
{
for(j=i+1;str[j]!='\0';j++)
{
str[j-1]=str[j];
}
str[j]='\0';
}
else continue;
}
str[i-2]='\0';
printf("去掉空格后的字符串为:
");
for(i=0;str[i]!='\0';i++)
printf("%c",str[i]);
printf("
");
}

程序:
#include <stdio.h>
#include<string.h>
#define N 100
void main()
{
int i=0,j;
char c,str[N];
printf("输入字符串str:\n");
while((c=getchar())!='\n')
{
str[i]=c;//输入字符串
i++;
}
str[i]='\0';
for(i=0;str[i]!='\0';i++)
{
if(str[i]==' ')
{
for(j=i+1;str[j]!='\0';j++)
{
str[j-1]=str[j];
}
str[j]='\0';
}
else continue;
}
str[i-2]='\0';
printf("去掉空格后的字符串为:\n");
for(i=0;str[i]!='\0';i++)
printf("%c",str[i]);
printf("\n");
}
运行结果:
输入字符串str:
ing ing ing
去掉空格后的字符串为:
inginging
Press any key to continue

#include<stdio.h>
void main()
{char a[8],p;
int i,j;
gets(a);
i=0;j=7
for(;i<j;i++,j--)
{p=a[i];
a[i]=a[j];
a[j]=p;}
puts(a);
}

C语言:输入一个字符串放入数组里,删除其中的空格
define N 100 void main(){ int i=0,j;char c,str[N];printf("输入字符串str:\\n");while((c=getchar())!='\\n'){ str[i]=c;\/\/输入字符串 i++;} str[i]='\\0';for(i=0;str[i]!='\\0';i++){ if(str[i]==' '){ for(j=i+1;str[j]!='\\0';j++){ str[j-...

如何将一个字符串输入到一个数组中?
1、声明数组时赋值,如:char str[]="abcd";2、运行时由键盘输入,如:scanf("%s",str);要确定输入的字符串长度不大于数组长度减一;3、在程序代码中把另一个字符串赋值给一个数组用函数strcpy,如:strcpy(str,"abcd");或者strcpy(str,str2);str2为一个存有字符串的数组,或者指向字符串的指...

c语言:输入一个字符串存入数组a中,找出ASCII值为奇数的字符按序存入数组...
include "stdio.h"#include "string.h"void main(){ char a[20],b[20]; int i,j=0; gets(a); for(i=0;i<strlen(a);i++) { if(a[i]%2!=0) b[j++]=a[i]; } b[j]='\\0'; puts(b);} ...

从键盘输入一个字符串存入字符数组,统计数字,字母,空格和其他字符的个...
} printf("数字%d个,字母%d个,空格%d个,其他%d个\\n",num,ch,blank,other);return 0;} 望采纳,谢谢!!

输入一个字符串,存入数组a,将其复制到数组b,然后将数组b中所有小写字 ...
for(i=0;b[i];i++) \/\/将数组b中所有小写字母改为大写字母 if('a'<=b[i]&&b[i]<='z') b[i]-=32;j=i;for(i=0;a[i];i++) \/\/将a中字符串连接到b b[j++]=a[i];b[j]='\\0';printf("a=%s\\n",a);printf("b=%s\\n",b);} \/\/程序运行情况如下:input srt...

用C语言如何实现键盘输入一个字符串,存放到数组,然后逆序存放到原位置并...
int main(){ char str[100];printf("输入一个字符串:");scanf("%s",str);char temp;int t=strlen(str);for(int i=0;i<t\/2;i++)\/\/这个循环用于逆序存放到原位置 { temp=str[i];str[i]=str[t-i-1];str[t-i-1]=temp;} for(i=0;i<t;i++)printf("%c",str[i]);pri...

用C语言 输入一串字符串,将其放到数组中,判断字符串中是否有想要的字符...
字符串里找一个字符,输出找到的个数,程序如下:include <stdio.h> int main(){ char s[100];char t;int i,n=0;printf("input one line string:\\n");gets(s);printf("input a char which you want to search:\\n");fflush(stdin); \/\/为了读入一个字符,要先清除一次输入缓冲区 s...

c语言怎么把字符串存进数组?
在C语言中,可以用字符数组来存储字符串。如果要把一个字符串存到数组中,可以先定义一个字符数组,然后用字符串复制函数把字符串内容复制到数组中。例如,如果要把字符串"abcd"存储到数组a的第一个元素中,可以这样做:char a[10][5]; \/\/ 定义一个10行5列的字符数组 strcpy(a[0], "abcd")...

如何用c语言输入一个字符串,把里面连续的数字依次存放到一个数组中
void main(){ char a[80],*p=a;int b[80]={0},i=0,j=0,x=0; \/\/!!!printf("请输入一串字符\\n");gets(a);for(p=a;(*p)!='\\0';p++){ if(((*p)>='0')&&((*p)<='9')) \/\/!!!{ if(x==0){ b[i]=(*p)-48;i++;} else b[i-1]=b[i-1]*10+(*p)-4...

c语言怎么输入字符串到一个数组
void main(){ char szBuffer[1024] = { 0 };scanf("%s",szBuffer);printf("%s",szBuffer);} 程序可以输入1024长度内的任意字符串,回车结束