24h購物| | PChome| 登入
2010-01-09 22:22:00| 人氣2,637| 回應0 | 上一篇 | 下一篇

奇摩知識+ 關於整數和英文字母的判定

推薦 0 收藏 0 轉貼0 訂閱站台

在此提供  2種版本

switch的糟糕技巧 : 就是當用ASCII之類的範圍時

可以這樣打case 'a'...'z':

這就是'a'~'z'的範圍  都會跑到這case中

範例輸入:

123456
123.5
-123
12a

範例輸出:

OK
輸入錯誤
OK
輸入錯誤

#include<stdio.h>
#include<stdlib.h>
main()
{
   char S[500];
   while(gets(S))
      {
         int a,b,F=0;
         for(a=0;S[a]!='\0';a++)
            switch(S[a])
              {
               case '-':break;
               case '0'...'9':break;
               default:F=1;
              }
         if(F==1) puts("輸入錯誤");
         else puts("OK");
      }
   return 0;
}

/*************************************************************/

#include<stdio.h>
#include<stdlib.h>
main()
{
   char S[500];
   while(gets(S))
      {
         int a,b,F=0;
         for(a=0;S[a]!='\0';a++)
            if(S[a]=='-'||(S[a]>='0'&&S[a]<='9'))
              continue;
            else F=1;
         if(F==1) puts("輸入錯誤");
         else puts("OK");
      }
   return 0;
}

台長: 來源不明
人氣(2,637) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文