1樓:北丐
將你的test1函式更改如下:
int test1()
char s[20];
int num = 0,n,len,i;
while(1) {
printf("請輸入一個整數 : ");
gets(s);
len = strlen(s);
//for(n = 0; s[n] == '0'; ++n);
num = 0; //每次輸入前,要確保num=0for(i = len-1; i >= 0; --i)if((s[i] < '0') || (s[i] > '9'))printf("輸入錯誤,重新輸入。\n");
break; //
num = 10 * num + s[i] - '0'; //
if(i < 0)
break;
//for(n = 0; s[n] == '0'; ++n);
input = num ;
return 0;
2樓:匿名使用者
用 atoi函式 判斷字串是否為「純數字」
3樓:
for(i = len - 1; i >= n; --i) 改成for(i = 0 ; i < n; i ++)
你是不是想說這個意思啊
4樓:匿名使用者
#include
#include
#include
#include//here
int main()
while(true)
char s[20];
int num = 0,n,len,i;
i=0;
printf("請輸入一個整數 : ");
gets(s);
len = strlen(s);
for(i=0;iif (!isdigit(s[i]))break;
if(i==len)
printf("您輸入的是%s\n",s);
break;
c語言中怎麼讓輸入的數只能為數字,不能為字母,如果是字母就重新輸入!
5樓:匿名使用者
#include
#include
void main()
else
}已進過測試
有幾點需注意
1輸入數值不能超過100位數值,當然可將程式中的100改為更大值2若要輸入浮點值,可將atoi 改為atof 函式
6樓:禾勹彐心
要判斷數字的ascii碼。定義成字元型。
7樓:匿名使用者
判斷asc碼48~57為0~9十個阿拉伯數字如果得到的asc碼不在48-57就重新輸入
8樓:匿名使用者
int num;
char temp[256];
while(true)
c語言怎樣實現只允許輸入數字,不允許輸入符號、字母等
9樓:鄒汀蘭猶辰
假設變數時num,則when(scanf("%d",&num)==1&&num>9)
scanf("%d",&num)==1意思是輸入一個數,scnaf才返回數字1,其他字元則是錯的,
&&在兩者都成立時才成立,num>9解決了輸入時兩位或兩位以上的的數字,當符合這些條件時,才允許往下進行。
c語言 怎麼實現只允許輸入數字 輸入字母,標點(小數點除外)報錯
10樓:與子如初見
#include
int main(void)
else
p++;
}return 0;}
11樓:李雲
注意標點符號用英文半形
12樓:匿名使用者
int digit;
c語言:如何判斷輸入的是數字還是其他字元 5
13樓:自我程式設計
有很多方法:
1、可以用sacnf或gets函式直接接收輸入的字串,然後用迴圈遍歷字串中每一個字元,判斷其是字母還是數字。
2、可以用迴圈呼叫getch()或getchar()函式來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。
至於怎麼判讀是字母還是數字,很簡單,假設字元c,滿足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母。
滿足 (c>='0' && c<='9')就是數字。
c語言怎樣實現只允許輸入數字,不允許輸入符號、字母等
14樓:孔子又云
假設變數bai時num,則>9)
scanf("%d",&num)==1意思是du輸入一個數zhi,scnaf才返回數字1,其他字元dao則是錯專的, && 在兩者都屬成立時才成立,num>9解決了輸入時兩位或兩位以上的的數字,當符合這些條件時,才允許往下進行。
15樓:匿名使用者
樓上是對的
#include
int main()
16樓:滄海雄風
#include
#include
int main()
else if (n =='\r')}}
return 0;}
17樓:似黑客學院飛仔
isdigit()
這個函式 歡迎 關注 自學去
c語言如何設定只能輸入0到9的數字 不能輸入字母
18樓:運玉花宛琬
#include
void
main()
else
printf("*");
printf("\n");
}編出來後我試了絕對可以,希望你滿意。我是在vc++6.0上執行的~
19樓:賁金生曲壬
先接收輸入的時字串,再判斷是否0-9的數字,如果不是則提示再輸入~~~
c語言新手弱弱的問下***這個程式,只能輸入數字結束執行,怎麼能讓它輸入字母或者輸入標點符號結束呢?
20樓:匿名使用者
因為是用for(;;)所以會陷入死迴圈,除非輸入錯誤碰到exit(0)程式才退出。
你可以再定義一個char型別的字元,存一個字元,然後用if()判斷是否成立,成立後用break;就可以跳出死迴圈了。
21樓:匿名使用者
修改了一下你的程式**,你再試試
void main(),,
,};printf("請輸要查詢的學號1到4:");
scanf("%d",&sum);//scanf在輸入非數字資料時,不會改變sum的值
//while(sum<0 || sum>4) 這裡用while雖然不出錯,但意義卻不對,要正確使用控制語句
if(sum<1 || sum>4) //你的選項是1-4有效,就要檢查輸入資料是否在1-4之間,其他無效退出。
for(i=0;i<4;i++)}}}
22樓:匿名使用者
#include
#define n 100
void main()
i++;
if(i==n) i=0; //報道尾後i恢復為0} while (*p==0) p++;
printf("%d\n",*p);
}else printf("輸入錯誤\n");}
23樓:喬德爭
char c;
while((c=getchar())=『字母』)
c語言 要求輸入一個是字母,然後如果輸入錯誤提示重新輸入
c語言 如何輸入漢字,C語言 如何輸入漢字
幻翼高達 需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如 test.cpp。2 在test.cpp檔案中,輸入c語言 char a 20 gets a puts a 3 編譯器執行test.cpp檔案,此時成功輸入了漢字並列印了輸入的漢字。 蘇 ...
C語言輸入問題
以下程式演示 輸入一位數字時,程式正常讀取並顯示這個數字,否則輸出錯誤資訊 include int main void 希聲和寡 沒辦法,不能讓程式判斷是否接受使用者輸入,只能在接受輸入後再判斷是否是有效輸入 兜裡有兩塊糖 你可以不用 d來讀取,用 c的方式讀,這樣的話可以判斷輸入的合法性。簡單的判...
c語言程式設計求輸入,c語言程式設計 求輸入一個0 99的整數,判斷其是否為同構數,要求寫了程式還要有中文解釋其核心語句的作
思路 同構數是會出現在它的平方的右邊的數。具體見 include int main return 0 執行結果 15 62576 include stdio.h int main int argc,char argv 執行結果 include stdio.h int main int n,i,j,a...