① 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想像成自動把文件的內容輸入到黑框里