close
要修改成 只允許輸入數字字元

如果輸入英文字母直接跳過 不將它存入字元陣列

麻煩幫我解答

謝謝

-----------------------
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char c, i, line[80]; /* 變數宣告 */
printf("請輸入字串: ");
/* 使用for迴圈輸入字元 */
for ( i = 0; (c=getchar())!=EOF && c!='\n'; i++ ){
 if(line[i]>=48&&line[i]<=57) line[i] = c;
   // ascii code 在 47 ~ 58 才存進去
}

line[i] = '\0'; /* 加上字串結尾 */
printf("字串內容: ");
puts(line); /* 輸出字串 */
system("PAUSE");
return 0;
}
------------
解釋 :
可以參考ASIIcode表
http://en.wikipedia.org/wiki/ASCII
因為數字的ascii code為 47 到 58
所以設定在這個範圍的字元印出來
不是的話就不管他
這樣就可以滿足題目的要求了

arrow
arrow
    全站熱搜

    偽新聞新聞雜誌 發表在 痞客邦 留言(5) 人氣()