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
所以設定在這個範圍的字元印出來
不是的話就不管他
這樣就可以滿足題目的要求了
全站熱搜
留言列表