c語言怎麼判斷乙個變數裡面的值是否不為數字啊

2025-05-02 11:00:15 字數 1199 閱讀 1863

1樓:匿名使用者

int judgmentdouble( int n_id )cstring str_temp = t(""

getdlgitem(n_id)->裂友getwindowtext(str_temp);

if ( str_ 1 )

afxmessagebox("請在空白處輸入適當的數值!")/getdlgitem(n_id)->setfocus();

return 0;

elseint i = 0;

for ( i = 0 ; i < str_ i++if ( int)str_ >48 &&int)str_ <57 )/ascii碼判斷。

continue;

為加號哪源基,45為減號。

continue;

else if (i>0&&str_

continue;

elsebreak;

if ( i < str_

afxmessagebox("輸入有誤,請輸入數值!")/getdlgitem(n_id)->李謹setfocus();

return 1;

elsereturn 2;

怎樣判斷變數的值是否為數字?

2樓:小磊不是石頭

01首先看下我們用while迴圈語句的**,如圖,while(i<=5) 的意思就是當i變數小於等於5的時候(即不大於6),就執行while語句裡的**:輸出顯示當前i變數的值。

要注意的是一定要加上i++這行**。

這行**是在每次迴圈時讓i變數加1,如果沒有這行**,那麼i變數一直都是1,就永遠不會跳出迴圈語句了。

03同樣的功能,我們把**改成用do while迴圈語句,04執行後得到的結果和用while迴圈的語句是一樣的。

05那麼是不是二者沒有區別呢?

06執行結果如圖,可以看到沒有數字輸出,因為i=10時,while(i<=5)的條件是不成立的,(10<=5肯定是不可能的),所以不會執行while裡的語句。

為什麼會這樣?因為do while迴圈是先執行**do裡的語句,然後才去判斷while裡的語句,如果while語句符合條件,則進入下一次迴圈,不符合條件,則不再迴圈。也就是說,無論條件是否符合,都會至少執行一次do裡的語句。

所以就算10<=5是不成立的,**還是執行了一次do裡面的輸出邏輯。這就是它和while語句的主要區別。end

用c語言判斷數是否為素數,用c語言判斷一個數是否為素數

include include include int judge int x if x 1 return 0 main system pause main else if f printf no n else printf yes n include stdio.h include math.h ...

c語言判斷有幾個零,c語言如何判斷一個數字有幾個

include include int main if sum printf 你輸入的字串中共包含 d個0。n sum else printf 你輸入的字串中不包含0。n system pause return 0 c語言如何判斷一個數字有幾個1 如果是浮點型 也可以是整型 double a 123...

一個C語言的題目,一個c語言題目

include main if sum i printf i 鑑於lz說還沒自學到for,那樣的話,應該也不會用函式,陣列之類的東西,所以只能寫的這麼複雜了。include int main i 1 if sum n 判斷是否是完數,是則列印。printf n sum 0 return 0 執行結果...