c语言以空格分割字符串
❶ c语言中,输入任意字符串,任意空格隔开
用scanf以%s读入字符串,即可实现输入以空格分隔的字符串。
以下代码功能为,循环读入以空格分隔字符串,并每行打印一条,读到EOF时,停止输入。
intmain()
{
chars[100];
while(~scanf("%s",s))puts(s);
}
❷ c语言字符串以空格分割
scanf("%s",a);
scanf输入的以空格或回车结束 。
所以a只接受到了空格之前的字符 ,所以就出问题了。
改成 gets(a)就好了
❸ c语言 讲一个字符串str以空格为分割,分割后输出到一个一维数组
一个函数搞定
#include<stdio.h>
intconvert(char*s,int*a)
{
intt=0,i=0,r=0;
while(1)
{
if(s[i]==''||s[i]==0)
{
a[t++]=r;
r=0;
}
elseif(s[i]<='9'&&s[i]>='0')
{
r=r*10+s[i]-'0';
}
if(s[i]==0)break;
i++;
}
returnt;
}
intmain()
{
char*str="123456";
inta[10];
intt,i;
t=convert(str,a);
for(i=0;i<t;i++)
printf("%d ",a[i]);
return0;
}
❹ 急急急 !在线等!!如何用C语言输入两个字符串,字符串之间以一个空格分隔
#include<stdio.h>
intmain()
{
chararr[10];
inti;
for(i=0;i<2;i++)
scanf("%c",&arr[i]);
for(i=0;i<2;i++)
scanf("%c",arr[i]);
return0;
}
❺ 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语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里
程序源码如下:
#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); //指向下一个
}
}
程序输出结果:
(6)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]='