导航:首页 > 净水问答 > 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输入字符数组过滤空格相关的资料

热点内容
印染废水中cod排放量是多少 浏览:245
冷干机的滤芯如何拆下来 浏览:552
海尔净水器出水管接口怎么拆 浏览:13
河北水垢漏斗 浏览:689
白云区农村ppp污水项目 浏览:498
安吉尔水壶滤芯怎么拆 浏览:318
电厂化学废水调整及注意事项 浏览:892
什么叫纳米微晶技术净化器 浏览:43
百佳境界净水器如何 浏览:695
甲醇蒸馏塔再沸器的原理 浏览:268
ro膜氯化 浏览:984
洁厕灵能除垢 浏览:459
油烟机净化器的价格多少钱一台 浏览:334
净化器电源怎么测量 浏览:332
wq污水提升泵 浏览:415
污水处理50户需多少立方池 浏览:656
树脂是不是ab胶 浏览:694
减压蒸馏怎么拆 浏览:544
饮水机为什么加热一会就保温 浏览:287
电解法处理污水基于什么原理 浏览:229