c語言如何做到只能輸入數字輸入其他的比如字

時間 2021-12-26 03:26:02

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...