回覆列表
  • 1 # 藍風24

    C語言判斷是否為整數,那麼只可能是判斷輸入的值,或者字串中的值,是否為整數。

    因為一旦儲存在變數中,根據變數型別,要麼為整數,要麼為浮點數,是確定的。

    一、判斷思路:

    1、整數中,按十進位制計算,合法字元為0到9,另外在最初位置可以有符號,即+或者-。

    2、對於輸入的值,可以先儲存到字串中,這樣轉換為判斷字串中是否為整數。

    3、先判斷第一個字元是否為+或者-, 如果是,則從第二個開始判斷,否則從第一個開始判斷。

    4、對每一個需要判斷的字元,判斷是否在"0"到"9"之間,如果是則合法,否則非法。

    5、一旦出現非法字元,說明不是整數。如果所有字符合法,那麼是整數。

    二、參考程式碼:

    int is_int(char *s)//判斷s中是否為整數,如果是返回1,否則返回0.

    {

    char* p =s;//p指向s。

    if(*p=="+"||*p=="-")//如果第一個字元為符號,則從第二個開始遍歷。

    p++;

    while(*p)//遍歷字串。

    {

    if(*p"9") return 0;//出現非法字元,返回0,表示不是整數。

    p++;//判斷下一個字元。

    }

    return 1;//所有都是合法字元,返回1,表示為整數

    }

    int main()

    {

    char s[200];

    gets(s);//讀取輸入,存到s中。

    if(is_int(s))//判斷並輸出結果

    printf("%s 是整數\n", s);

    else

    printf("%s 不是整數\n",s);

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 商品上的條碼是幹什麼用的?