當前位置:首頁 » 編程語言 » c語言限制輸入的是數字

c語言限制輸入的是數字

發布時間: 2022-05-11 07:10:11

c語言怎樣實現只允許輸入數字,不允許輸入符號、字母等

假設變數時num,則when(scanf("%d",&num)==1
&&
num>9)
scanf("%d",&num)==1意思是輸入一個數,scnaf才返回數字1,其他字元則是錯的,
&&
在兩者都成立時才成立,num>9解決了輸入時兩位或兩位以上的的數字,當符合這些條件時,才允許往下進行。

⑵ 在C語言里怎麼控制輸入的只是數字而不是其他的啊

char number;

number = getchar();
while( number < '0' || number > '9' ) {
printf( "你輸入的不是 0 至 9 的數字,請重新輸入" );
number = getchar();
}

⑶ c語言 如何做到只能輸入數字,輸入其他的,比如字母。就會提示重新輸入。

將你的test1函數更改如下:

inttest1()

{

chars[20];

intnum=0,n,len,i;

while(1){

printf("請輸入一個整數:");

gets(s);

len=strlen(s);

//for(n=0;s[n]=='0';++n);


num=0; //每次輸入前,要確保num=0


for(i=len-1;i>=0;--i)

{

if((s[i]<'0')||(s[i]>'9'))

{

printf("輸入錯誤,重新輸入。 ");

break;//

}

num=10*num+s[i]-'0';//

}

if(i<0)

break;

}

//for(n=0;s[n]=='0';++n);

input=num;

return0;

}

⑷ C語言,要求只能輸入數字,輸入其它的會提示錯誤,重新輸入

不知道你指的是輸入一個數字或字元還是一串
下面是輸入一個數字或字元的
#include
int
main()
{
char
c,c1;
while(1)
{
c=getchar();
c1=getchar();
//你打一個非數字時要按回車,回車本身也是一個字元,
用c1接收回車,以免打一個字元輸出兩個error
if(c>='0'&&c<='9')
break;
printf("error!\n");
}
}

⑸ c語言:如何限制數字在某個范圍

用for循環語句
int
n;float
sum=0;
for(n=1;n<=1000;n++)
sum+=sum;
n++;
這是第一行求和。
第二行類似,用空格隔開時在輸出語句上加上格式控制符空格就可以了,這道題是
printf("
%f";sum);
注意百分號前面的空格。
如果比較滿意的話請採納吧。-_-

⑹ C語言中可以限制輸入類型嗎例如只可以輸入數字,輸入其他會報錯!!

判斷是否為數值,是就通過,不是則報錯。
用個if判斷就OK了,應該有個函數能比較是否為數值的。
另外就從ASCII來判斷,大於小於,就能把限定在數字范圍內了。

⑺ C語言中怎麼讓輸入的數只能為數字,不能為字母,如果是字母就重新輸入!

#include <cstdio>
#include <cstdlib>
void main()
{
char* ch=(char*)malloc(100*sizeof(char));
scanf("%s",ch);
int num;
num=atoi(ch);
if(0==num)
{
if('0'==*ch)
printf("%d\n",num);
else
printf("您輸入了非數字");
}
else
{
printf("%d\n",num);
}

}
已進過測試
有幾點需注意
1輸入數值不能超過100位數值,當然可將程序中的100改為更大值
2若要輸入浮點值,可將atoi 改為atof 函數

⑻ C語言怎樣保證輸入的只是數字不能輸入字母

可以使用這個語句,while( scanf("%d",&x)),如果輸入是數字,則保存輸入,執行下一條語句,如果不是數字,則舍棄此時輸入,請求繼續輸入,直到輸入的是數字為止

⑼ C語言中怎樣限制輸入值為字元串或數字

1.凡是數字皆為字元。任何數字首先是字元,然後才能是數字。所以這個問題應該是如何在字元中識別數字。直接將每個字元挨個提取出來,將他賦給一個整型,得到它的ASCII碼值。然後根據ASCII碼的范圍來判斷它到底是數字字元還是非數字字元。由下表可以得知,數字范圍在48~57的都是數字字元。


2.用isdigit()函數判斷字元串是否為數字。
isdigit()函數包含在ctype.h頭文件中,
原型: int isdigit(char c);
用法:#include <ctype.h>
功能:判斷字元c是否為數字
說明:當c為數字0-9時,返回非零值,否則返回零。

3.下面使用isdigit()實現一個判斷字元串是否為數字的代碼。這個函數是判斷某一個字元是否為數字,可以用一個字元數組接受輸入的字元,然後循環判斷每一個字元是否為數字,如果其中一個不是數字,那麼返回0,否則返回非0;包含了判斷小數點的個數和負數符號-。

#include<stdio.h>
#include<ctype.h>
void main()
{
char a[10];
int i,j,flag=0; /*flag標記小數點個數,如果超過一個,那麼就不是數字*/
printf("input a number: ");
scanf("%s",a);
for(i=0;a[i]!=0;i++)
{
if(i==0&&(a[i]=='+'||a[i]=='-'))
{
i++;
continue;
} /*如果第一個字元為+或-,不判斷為非數字,可能是符號標志,繼續向下判斷*/
if(a[i]=='.')
{
flag++;
if(flag>1) /*如果小數點個數超過一個,則表示不是數字*/
{
break;
}
else if(flag==1) /*如果小數點個數為1個,則可能為小數,繼續判斷*/
{
continue;
}
}
j=isdigit(a[i]);
if(j==0)
{
break;
}
}
if(j!=0)
printf("%s yes",a);
else
printf("%s no",a);
getch();
}

⑽ C語言中如何限制使用者只能輸入數字1~9求大神幫助

#include<stdio.h>
main()
{
int f;char s[2];//用一個字元數組穩當
do
{
printf("請輸入1~9:");
scanf("%s",s);
if(s[0]<'1' || s[0]>'9')
f=0;
else f=1;
}while(!f);
printf("輸入正確!\n\n");
}

熱點內容
斷牙腳本 發布:2025-05-11 00:04:21 瀏覽:66
sim卡的密碼怎麼設置密碼 發布:2025-05-10 23:41:09 瀏覽:715
自定義緩存註解 發布:2025-05-10 23:40:06 瀏覽:118
sqltext類型長度 發布:2025-05-10 23:30:21 瀏覽:979
圖形AI演算法 發布:2025-05-10 23:30:19 瀏覽:183
java上傳的文件在哪裡 發布:2025-05-10 23:30:06 瀏覽:160
議長訪問台灣 發布:2025-05-10 23:22:46 瀏覽:433
啟動電機如何配置開關 發布:2025-05-10 23:21:21 瀏覽:960
三維數組存儲 發布:2025-05-10 23:14:35 瀏覽:981
普通電腦架設成雲伺服器 發布:2025-05-10 23:13:56 瀏覽:808