c 連續輸入問題,c 怎麼過濾連續重複輸入的數字 比如輸入 12236557452 輸出

2025-03-25 19:25:14 字數 2755 閱讀 9412

1樓:無名可用_狂汗

這主要和read方法的處理方差如式有關,第一次執行到read方法的時候,這時會虛歲啟發生阻塞,當你按了enter,阻塞解除,同時會雀知在輸入內容上新增乙個終止序列(windows下是回車符和換行符)這個時候出入內容只有(這兩個字元),這個read方法檢索的是回車符()。

然後執行到第二次呼叫read方法,這次呼叫的read方法檢索的是換行符()。注意這已經是最後乙個字元了。

第三次呼叫read方法,這時輸入內容的所有字元已經檢索完畢了,所以read方法會重新使你的程式處於阻塞狀態,如果後續還有read方法的呼叫,那麼又是新的一次輪迴,重複我上面提到檢索的步驟!

簡單的說就是程式判斷你多按了鍵了……read()只取了讀入記憶體的第乙個位元組,造成記憶體沒有清空,所以,只有用一次readline()對記憶體做一次清空處理,再使用readline()時,才能再次使用。

為什麼一定要用read()呢,單個的字元也可以看做字串的,用readline()也是一樣的嘛。

2樓:匿名使用者

= 敗慧族char

碧枯/這裡新增察弊一行把回車讀取出來就可以了。

c#怎麼過濾連續重複輸入的數字 比如輸入:12236557452 輸出:

3樓:網友

常規的辦法就是將每個數字試圖插入到hashtable中,最好的辦法是使用hashset,插入不進去的自然就丟掉。因為插入重複鍵值會出現溢位。

但是由於效能上極差,一般很少再使用了。最好使用lambad表示式!即可!

4樓:網友

學習張大師,幹什麼都要一行**搞定:

string s = "12236557452";

s =new string(;

是不是不容易理解。其實編寫**需要多麼複雜,自己明白才好。我寫的這樣的並不很好。

解釋一下:先把字串轉成char陣列,然後去掉重複(distinct),在轉回char陣列,再轉換為字串。

靠,真囉嗦。

c#中可以一次輸入多個數字麼?如何實現?

5樓:無名可用_狂汗

要看你怎麼輸入了。

比如你輸入1,2,3,那麼就把這個字串按逗號分割為子字串然後分別賦值給變數,記得轉換為int型別。

或者按空格,|等等都可以。有乙個分割的函式的。

6樓:網友

readline, 自己定義分隔符。

或用read,乙個個讀取。

c# winform中怎麼限制textbox中不能連續輸入相同的值,

7樓:polaris北斗

在窗體類設乙個變數儲存上一次輸入值,在textbox的回車事件中比較一下。

c#如何連續輸入幾個字元

8樓:

可以啊"",a,b);

這個是正確的格式。

9樓:

樓主的**中少了個 逗號。

在 ,"a 之間不知道你是不是這個問題造成的否則應該是可以的。

如果你想執行時動態輸入,可以用。

string a = ;

string b = ;

c#小數點的連續輸入報錯問題

10樓:匿名使用者

/ 希望對你有用 同學 在 你 的 textbox 中 加 keypress 事件 public static void justnum(object sender, keypresseventargs e)

僅接受0-9和退格鍵。

if( //判斷 小數點。

if(((textbox)sender).'.').length<=1) //判斷 小數點不能多於。

if ( == (char)8)// (char)8是退格鍵的ascii碼。

false;

11樓:匿名使用者

寫上乙個判斷語句,看是否輸入的是小數點。如果是小數點的話,使用方法來判斷你以前的輸入中是否有小數點。如果有該方法返回小數點所在位置。

那麼你就可以彈出messagebox來進行提示了。

12樓:匿名使用者

= ;//不用轉換 本來就是字串在textbox1的onchange事件裡寫 用正則判斷^\d+\.d$

關於c#。當輸入不是數字的時候,提示重新輸入。迴圈

13樓:網友

不清楚你原本的意圖是什麼,是輸入字元還是輸入字串,是無限迴圈還是隻讀入數字就中止,暫時改動如下:

static void main(string args)"您輸入的是數字");;

c#迴圈問題,會的進來看看。輸入非數字提示「請輸入數字」。輸入「y」可進行迴圈計算。輸入「n」關閉程式

14樓:網友

static void main(string args)的階乘:", n, sum);

是否繼續(y/n)");

bo = ;

while ( == "y");

static double f(int n)這樣還是會有1個小小的問題,看你發現了。

15樓:網友

輸入負數會有異常吧,還有那個 if (n == 0) sum = 1;是否可以去掉呢。

如何用c語言輸入字串,把裡面連續的數字依次存放到陣列中

夔啟江澄邈 定義一個足夠的陣列,迴圈字元陣列,遇到數字就放到新的陣列中 void main i 0,j 0,x 0 printf 請輸入一串字元 n gets a for p a p 0 p else b i 1 b i 1 10 p 48 x 1 else x 0 for j 0 b j 0 j ...

c語言關於for迴圈中使用scanf連續輸入的問題or no

include int main for i 0 i return 0 c語言迴圈中變數的輸入問題 include main printf no return 0 初學c語言,關於for迴圈中scanf函式應用的一點小疑問?你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按...

c 中,不使用new申請的儲存空間就不是連續的嗎?個人覺得new是多此一舉,要用就用int之類的申明就可以

不是多此一舉,new是動態申請,類似c語言裡的malloc函式!在程式裡面,大多數情況下我們想用內得儲存空間在編容寫的 時是不知道的,在程式執行時才清楚,這時候如果用int之類宣告陣列,陣列太小,會造成儲存空間不夠,陣列太大又會造成空間的浪費。所以new這個東西的功能就看出來了 new 關鍵字是在程...