导航:首页 > 净水问答 > c输入字符数组过滤空格

c输入字符数组过滤空格

发布时间:2020-12-20 01:03:52

❶ C语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里

程序源码如下:

#include<stdio.h>

#include<string.h>

intmain(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); //指向下一个

}

}

程序输出结果:


(1)c输入字符数组过滤空格扩展阅读:

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

#include <stdio.h>

#include<string.h>

#define N 100

void main()

{

int i=0,j;

char c,str[N];

printf("输入字符串str: ");

while((c=getchar())!=' ')

{

str[i]=c;//输入字符串

i++;

}

str[i]='';

for(i=0;str[i]!='';i++)

{

if(str[i]==' ')

{

for(j=i+1;str[j]!='';j++)

{

str[j-1]=str[j];

}

str[j]='';

}

else continue;

}

str[i-2]='';

printf("去掉空格后的字符串为: ");

for(i=0;str[i]!='';i++)

printf("%c",str[i]);

printf(" ");

}

❷ C语言字符型数组输入时不能用%c ,我输入的都是单个字符,输入时字符之间没有空格, 为什么

在程序段scanf("%d",&n);后面加上getchar();问题应该就可以解决

❸ c语言 将输入的字符串按照空格分割

strtok函数

网页链接

char str[] ="i love c love c";

const char * split = " ";
char * p;
p = strtok (str,split);
while(p!=NULL) {
printf ("%s ",p);
p = strtok(NULL,split);
}

这么循环

说下我的逻辑,不一定最优

先弄个结构体回struct里面有一个答char*和一个int

再建个struct的数组

在每次循环对比之前获得的struct数组中是否含有相同的字符串

有就计数器+1

没有就在数组中为null的地方加上一个成员为这个字符串和计数为1的struct

循环结束时遍历struct数组

好久没写C了,怕给你的代码有bug,就写思路把

❹ 如何输入包含空格的一个字符数组

C语言中,可以用gets函数来接收输入的字符串(包含空格)。
格式:gets(字符数组专名);

功能:gets函数用于将属输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。

举例说明如下:

char str[20]; // 定义一个字符数组,大小为20个字节
gets(str); // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入
printf("%s", str); // 输出用户输入的字符串(包含空格)
注:使用gets函数时,需将头文件#include<stdio.h>包含到源文件中。

❺ 大神,我刚刚学c语言,问个问题,输入的字符数组里有空格,怎么把空格去掉,而且输入的时候怎么用回车结束

#include<stdio.h>


void myGets(char *buff)

{

char ch;

int i=0;

while((ch=getchar())!=' ')

{

if(ch!=' ')

*(buff+i++)=ch;

}

*(buff+i)='';

}


void main()

{

char array[60];

myGets(array);

printf("%s ",array);

}

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

程序:源
#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

❼ 用scanf程序输入字符数组,在输入的数字之间输入空格对于c语言用%c输出会出现奇怪的数字

后面是乱码,你抄没有初始化字符数组
char a[5] = {};
scanf遇到空格回车都会停止操作,所以当你输入q空格时就只输进了q,空格后面的数据暂时还在输入缓冲区里等待读入
所以只有a[0]是正确的数据,后面因为没有初始化,是分配时储存在里面的旧数据,也就是乱码

❽ 如何输入一个带空格的二维字符数组(用C语言)

#include<stdio.h>
#define M 5 //行数
#define N 5 //列数
char carray[M][N];
void getArray()
{
char str[10];
int i,j;
for(i=0; i<M; i++)
{
for(j=0; j<N; j++)
{
scanf("%s", str);
carray[i][j] = str[0];
}
}
}

int main()
{
int i,j;
getArray();
printf("Matex: %d %d\n", M, N);
for(i=0; i<M; i++)
{
for(j=0; j<N; j++)
printf("%c ", carray[i][j]);
printf("\n");
}
}

❾ c语言输出字符数组空格

优化后的代码,如下:
#include<iostream>
usingnamespacestd;
intmain()
{
charstr[100],t;
cin.getline(str,sizeof(str));//C++读一行字符,内允许输入空格,遇回车结束
for(inti=0;str[i];i++)//不要到99,要判断
{
容if(str[i]<'v'&&str[i]>='a')
t=(str[i]+5);
else if(str[i]<='z'&&str[i]>='v')
t=(str[i]-21);
else
t=str[i];
cout<<t;
}
cout<<endl;
return0;
}

阅读全文

与c输入字符数组过滤空格相关的资料

热点内容
家庭自制柿子酒蒸馏方法如下 浏览:313
染整工业废水 浏览:242
竹笋加工厂污水量计算 浏览:728
h6哈弗机油滤芯在什么位置 浏览:988
采用水蒸气蒸馏 浏览:814
水处理沙缸炭缸 浏览:34
沃刻净水投诉电话是多少 浏览:925
废水会联想到什么 浏览:674
一次性麻醉废气过滤器 浏览:713
x6汽油滤芯多少钱 浏览:774
2019年英国废水量多少 浏览:43
树脂木头勺子制作 浏览:729
净化器里面的水是怎么来的 浏览:728
三亚凤凰路的污水排去哪 浏览:707
净水器小滤芯起什么作用 浏览:54
污水处理厂工地工艺 浏览:520
水泥厂废水 浏览:715
浸没式超滤介绍 浏览:13
怀回草怎么用 浏览:215
什么纯净水不是反渗透的 浏览:821