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]='