看板 Programming 關於我們 聯絡資訊
寫題目時突然想到如果有眼睛不好的、手滑的 鍵入非數字的資料(+-*/abc之類的) 有辦法判斷嗎?怎樣程式才不會亂掉? 希望有高手指點迷津~ <(_ _)> 我是newb...囧rz ============================以下是我的source code============================ #include <stdio.h> #include <stdlib.h> #define num 15 int i, a[num]={0}, sort, temp; int main() { /* 判斷數值 */ printf ("輸入%d位正整數\n", num); do { for (i=0; i<num; i++) { printf ("第%d個數:", i+1); scanf ("%d", &a[i]); if (a[i]<0) { printf ("錯誤,請輸入正整數\n"); break; } } } while (a[i]<0); /* 排序 */ for ( sort = 1; sort < num; sort++ ){ for ( i=0; i < num-sort; i++ ){ if ( a[i] > a[i+1] ){ temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } } } /* 輸出 */ printf ("8th value=%d\n", a[7]); system ("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.222.57
LiloHuang:使用 #include <ctype.h> 中的isdigit() 140.127.71.200 05/11 16:04
caml:man scanf. mismatch返回zero. 221.122.52.122 05/11 16:23
sjgau:如果是輸入整數的話,+, - 符號,可以接受 123.193.222.89 05/11 18:42
sjgau:如果是浮點數的話,增加 ., E, e 都可以 123.193.222.89 05/11 18:43