A. 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(" ");

}

B. c语言如何将一串由空格和换行符隔开的整数输入一个数组

#include<stdio.h>

intmain()
{
inta[10]={0},i=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}

for(i=0;i<10;i++)
{
printf("%d",a[i]);
}

return0;
}

123344
33344
555
44
556677

C. c语言 如何用数组形式一次性输入几个数字 中间有空格 不换行

给个例子你吧
#include<>
int main()
{
int n[8],i; //定义一个有8个元素的一维数组
for(i=0;i<8;i++)
scanf("%d",&n[i]); //一般数组用循环输入,二维就用2个循环输入,不懂可以追问我
printf("");
return 0;
}

D. 在C语言中如何区分数组中的空格,并提取数组单个字符!求大神讲解!

char p0,p1,sstr[100][20];
int n;
p1=mystring; n=0;
while ( *p1 )
{ p0=p1; while ( (*p1)!=0 && (*p1)!=' ' ) p1++;
if ( (*p1)!='\n' ) { (*p1)=0; p1++; } else { (*p1)=0; p1++; (*p1)=0; }
strcpy(sstr[n],p0); n++; if ( n>=100 ) break;
}

E. C语言,目的:输入一串数字,用空格隔开,然后赋值给数组

#include<stdio.h>
voidmain()
{
intspace=0,temp;
charc;
inta[100],i,flag;
temp=0;
printf("pleaseinputsomenumber,lessthan100");
while((c=getchar())!=' ')
{if(c=='')
{
a[space]=temp;
space++;
temp=0;
flag=0;
}
else
{
flag=1;
temp=temp*10+(c-48);//将字符数字C转换为实际数字C
}
}

if(flag)//如果回车键之前为非空格,则该数也要存入数组
{
a[space]=temp;
}

for(i=0;i<space+1;i++)
pringtf("a[%0d]=%8d",i,a[i]);

}

F. 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;
}

G. c语言 字符串数组中空格占用空间吗

数的时候不仅要算空格,还要算末尾的空字符'\0',
所以这个字符串大小应是13个字符

H. c语言问题 高手帮忙 字符数组 问题空字符'\0' 是空格吗

空字符'\0' 用 %c 形式输出,是一个空格。
空字符'\0' 用 %d 形式输出,是一个数字 0。
空格字符 ' ' 用 %c 形式输出,是一个空格。
空格字符 ' ' 用 %d 形式输出,是一个数值32。

'\0' 是字符串结束标记,strlen(c) 长度计算,只计算到 '\0' 以前那个字符。
'\0' 是字符串结束标记,%s输出 只输出到 '\0' 以前那个字符。
===========
'\0', ' ' 的不同,我们用下面输出方法可以看出。
#include<stdio.h>
int main(){
char c[10]="ab";
int i,n=0;
for (i=0;i<5;i++) printf("%c|",c[i]);
printf("XXXX");
printf("|%c|",' '); // 空格
printf("\n============\n");
for (i=0;i<5;i++) printf("%d|",c[i]);
printf("XXXX");
printf("|%d|",' '); // 空格
return 0;
}

I. c语言中的数组输入的每一个元素要用逗号隔开还是空格键还是其他的什么

你要看那个scanf后面的引号包含的内容,如果其中有逗号,输入时就要用逗号,如scanf("%d,%d",&a,&b)
如果没有那个逗号就可以用空格或换行符

J. C语言数组怎么输出空格

strcpy 就是字符串复制,包括\0一起。 但是\0之后的 不会动
所以,复制后 a中存的是
A B C \0 e \0
这样 a[4]就是 e
输出
e
选C