① c语言如何读取一行数据,以空格分开
为了防止上一回输入的回车影响对于下一次的输入的读取,
最好加上清空键盘缓冲区处理:fflush(stdin);
scanf("%d",&m);
for(d=0;d
评论
0
0
0
加载更多
② C语言空格分隔输出
#include<stdio.h>
int main()
{
char a;
int b;
float c;
double d;
scanf("%c %d %f %lf",&a &b &c &d);
printf("%c %d %f %lf",a b c d);
return 0;
}
③ C语言中,请问如何从字符串中读取所有的浮点数(个数不知道),浮点数以空格隔开
用sscanf确实可以实现,代码如下:
#include
int
main()
{
char
*str="1.0
2.0
3.0
4.0
50.0"
;
int
i
;
double
d
;
i=0;
while(
*str
==
'
'
)
str++
;
while(
sscanf(
str,
"%lf"
,
&d
)==1
)
{
while(
*str
!=
'
'
)
str++
;
//跳过已读过的数
i++;
printf(
"d:%03d=
%lf\n"
,
i
,
d
);
while(
*str
==
'
'
)
str++
;
//跳过分格符:空格
}
printf(
"there
is(are)
%d
float
num(s)
in
str\n"
,
i
);
return
0;
}
当然,你也可以用strtok()函数过获取数据,细节可参看相应的函数介绍
④ C语言 一行数据 空格分隔
为了防止上一回输入的回车影响对于下一次的输入的读取,
最好加上清空键盘缓冲区处理:fflush(stdin);
scanf("%d",&m);
for(d=0;d<m-1;d++)
{
scanf("%d ",&b[d]);
fflush(stdin);
}
scanf("%d\n",&b[d]);
不过ACM中一般这么用的更多一些:
int i=0;
scanf("%d",&m);
while(m--)
{
scanf("%d ",&b[i++]);
fflush(stdin);
}
⑤ C语言如何读取一行数据,以空格分开
可以使用strtok函数做分割单词。
#include<string.h>
voidmain()
{
chars[]="192.168.0.26";
char*delim=".";
char*p;
printf("%s",strtok(s,delim));
while((p=strtok(NULL,delim)))
printf("%s",p);
printf(" ");
}
(5)c语言读取数字以空格分割扩展阅读
在C++中strtok的使用
#include<iostream>
#include<cstring>
usingnamespacestd;
intmain()
{
charsentence[]="Thisisasentencewith7tokens";
cout<<"Thestringtobetokenizedis: "<<sentence<<" Thetokensare: ";
char*tokenPtr=strtok(sentence,"");
while(tokenPtr!=NULL){
cout<<tokenPtr<<endl;
tokenPtr=strtok(NULL,"");
}
//cout<<"Afterstrtok,sentence="<<tokenPtr<<endl;
return0;
}
⑥ C语言中输入一串以空格分隔的整型数据,怎么办
需要准备的工具:电脑。
1、当要向输出设备(显示屏、打印机等)输出字符时,可以用 c 格式描述符控制。如下所示代码即输出字符ch (a) :char ch = 'a';printf("Character: %c ",ch);
⑦ C语言,目的:输入一串数字,用空格隔开,然后赋值给数组
你的程序和你的题目相差悬殊呀,我想你的本意应该是:
输入:123 456 789 ,然后分割赋值
a[0] = 123;
a[1] = 456;
a[2] = 789;
是这个意思吧
#include<stdio.h>
#include<string.h>
int main(void)
{
char a[100];
char c[] = " ";
printf("请输入一串数字:");
gets(a);
printf("分割后的数字是:\n");
printf("%s\n",strtok(a,c));
char *p = strtok(NULL,c);
while(p)
{
printf("%s\n",p,c);
p = strtok(NULL,c);
}
return 0;
}
⑧ c语言怎样接受按行输入的一段用空格分开的数字
在 scanf 中,从键盘输入的一切数据,不管是数字、字母,还是空格、回车、Tab 等字符,都会被当作数据存入缓冲区。存储的顺序是先输入的排前面,后输入的依次往后排。按回车键的时候 scanf 开始进入缓冲区取数据,从前往后依次取。但 scanf 中 %d 只识别“十进制整数”。对 %d 而言,空格、回车、Tab 键都是区分数据与数据的分隔符。当 scanf 进入缓冲区中取数据的时候,如果 %d 遇到空格、回车、Tab 键,那么它并不取用,而是跳过继续往后取后面的数据,直到取到“十进制整数”为止。对于被跳过和取出的数据,系统会将它从缓冲区中释放掉。未被跳过或取出的数据,系统会将它一直放在缓冲区中,直到下一个 scanf 来获取。但是如果 %d 遇到字母,那么它不会跳过也不会取用,而是直接从缓冲区跳出。
来自网页链接
⑨ c语言如何从文件中读取一段空格分隔的数字
inta[100];
inti=0;
scanf("%d",&a[i]);
while(getchar()!=' ')
scanf("%d",&a[++i]);
最后i的值就是读入数字的个数,数字依次保存在数组a中。
⑩ c语言里如何读取文件中用空格分隔的整数,我想把他们读出来存在一个数组里
直接fopen
然后用fscanf读取,fscanf就跟scanf一样,除了多一个文件指针
你可以把fopen想象成自动把文件的内容输入到黑框里