c語言輸入字串和數字時如何用逗號隔開

2021-05-02 04:10:58 字數 2257 閱讀 7009

1樓:_葉子妞妞

1 如果使用scanf進行格式化輸入,用逗號隔開不適用於先輸入字串後輸入數字的情況,僅適用於數字的間隔,或者先輸入數字後輸入字串。

下面是先輸入數字後輸入字串的例子:

#include

int main()

如果輸入:

123,abc

會輸出:

abc123

但是如果先輸入字串再輸入數字,比如用scanf("%s,%d",s,&v);的格式,系統會出錯。

2 如果需求必須是先輸入字串後輸入數字,那麼必須人工進行判斷。

思路為用getchar逐個讀入字元,並賦值到字串對應位置,當出現逗號時結束。然後再用scanf讀入數字。

**如下:

#include

int main()

i ++;

}scanf("%d",&v);//繼續輸入數字。

printf("%s\n%d\n", s, v);//輸出得到的變數,每行一個值。

return 0;

}以上程式輸入:

abcd,123

輸出哦abcd123

2樓:匿名使用者

用scanf讀入資料時,如果將字元陣列寫在前面可能會有問題,因此讀入時需要注意順序。

假設 char name[20]; int age;

scanf("%d,%s",&age,&name); 這樣不會用問題

如果scanf("%s,%d",&name,&age); 這樣讀資料的話,可能會出現問題。

你自己試一下,想想為什麼,呵呵

在c語言中,如果要輸入一串數字,其中每個數字用逗號隔開,且不知道總共輸入了多少數字。要怎樣輸入呢?

3樓:金色潛鳥

先讀1個整型數。

然後迴圈:讀1個字元,如果字元是逗號則讀1個整型數,如果不是逗號,迴圈就結束。

如果讀整型數有錯,迴圈也結束。

#include

#include

main()

printf("\ni read: ");

for (i=0;i

return 0;}

4樓:太陽小姐的樹屋

比較麻煩。

可以每次malloc int

可以規定以一個特定的字元結束,比如當輸入#號的時候代表輸入結束

5樓:略懂c語言

#include

#define max_size 10000 //輸入數的上限#define end_num -1 //作為輸入結束符,這個數要保證不跟正常要處理的數衝突

int main(void)

c語言輸入一串數字,中間逗號隔開,按enter結束輸入,怎麼做?

6樓:匿名使用者

可以先把輸入數字 當作字串 進行輸入處理之後,再使用 strtok函式 進行分割 再轉換為數字這裡需要考慮 輸入串中 是否有異常字元 的處理除了strtok函式 也可以使用其它函式 如 strstr 函式 等 也可以進行分割

7樓:

#include

int main()

c語言:n和a由鍵盤輸入,輸入時資料可用空格或逗號做分隔符。怎麼做到空格和逗號都可以? 10

8樓:囊中無忌

樓上**的意思是,首先系統等待你輸入一個整數,當你輸入完一個整數後,系統再等待你輸入一個整數,如果你此時輸入的不是整數,系統將忽略,並繼續等待,所以不管你中間輸入什麼非整數的東西都會忽略。當然,在等待第一個數輸入的時候也可以這樣理解。

9樓:

好奇怪的需求啊!

我得第一反應有些複雜,就是將所有輸入存成字串,數字字元1 「逗號」或「空格」數字字元2,分別將數字字元1和數字字元2匹配出來,再用atoi()函式轉換成整形。這樣的好處在於在輸入時,不僅可以用「逗號」、「空格」分隔,可以用任意的字元分隔!

10樓:匿名使用者

scanf("%d%d",&a,&n);

這句就可以了

11樓:匿名使用者

scanf("%d%*c%d", &a, &b);

可以以任意字元(回車、空格、製表符、逗號、其它)作為分隔符進行資料的輸入。

如何用c語言分離字串中的字母和數字並分別輸出

給出 include include include include using namespace std int main else if s i z s i a s i z s i a for int i 0 i num i cout 先定義兩個字串陣列變數a,b。然後把原來的字串進行遍歷,判...

c語言中字串和陣列的區別,C語言中字串和陣列的區別

這個是字元陣列。c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是 0 總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩...

c語言中如何輸入輸出字串

在c語言中,輸入輸出字串有以下兩種方式 1 用scanf printf輸入輸出。scanf printf是c語言的格式化輸入輸出函式,可以用於輸入輸出各種基礎型別,字串 char 也 其支援範圍內。格式化字元為 s。定義char str 100 輸入scanf s str 輸出printf s st...