Re: [問題] 如何判別輸入資料為非數字?

看板Programming作者 (飛過鷹族的訕笑)時間18年前 (2007/05/11 15:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《VENGENE (我不在~)》之銘言: : 寫題目時突然想到如果有眼睛不好的、手滑的 : 鍵入非數字的資料(+-*/abc之類的) : 有辦法判斷嗎?怎樣程式才不會亂掉? : 希望有高手指點迷津~ <(_ _)> : 我是newb...囧rz 比較麻煩 但是還是可以辦到, 使用檢查ASCII碼的方式達成。 一開始讓 user 輸入字串 接著一個字元一個字元檢查是否落在 0-9的 ASCII碼範圍內即可。 int main(void ){ char s[50]; int i,j,n; bool isnumber=false; printf("please input:"); gets(s); n=strlen(s); for(i=0;i<n;i++){ j=(int)s[i]; if(j<48||j>57) isnumber=true; } if(isnumber){ printf("輸入非數字"); }else{ printf("都是數字"); } getch(); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.50.38 ※ 編輯: waterdisney 來自: 140.134.50.38 (05/11 16:02)

05/11 18:54, , 1F
感謝各位指導~ <(_ _)>
05/11 18:54, 1F
文章代碼(AID): #16H29JWA (Programming)
文章代碼(AID): #16H29JWA (Programming)