需要控制輸入的數(shù)的范圍的話,可以使用一個判斷語句或者調(diào)用一個函數(shù)
創(chuàng)新互聯(lián)是專業(yè)的門頭溝網(wǎng)站建設(shè)公司,門頭溝接單;提供網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行門頭溝網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
依照你的要求,這里最佳的選擇是調(diào)用一個函數(shù)來控制輸入數(shù)的范圍,調(diào)用函數(shù)不僅方便,而且通用性強
關(guān)于函數(shù)的設(shè)計問題,這里的函數(shù)可以設(shè)計為:當(dāng)輸入的數(shù)在1-15之間時,切換回主函數(shù)繼續(xù)執(zhí)行程序,若輸入的數(shù)不在范圍內(nèi),那么就返回一個表征錯誤的量,并配上相應(yīng)的語句讓輸入者重新輸入正確的值
1.凡是數(shù)字皆為字符。任何數(shù)字首先是字符,然后才能是數(shù)字。所以這個問題應(yīng)該是如何在字符中識別數(shù)字。直接將每個字符挨個提取出來,將他賦給一個整型,得到它的ASCII碼值。然后根據(jù)ASCII碼的范圍來判斷它到底是數(shù)字字符還是非數(shù)字字符。由下表可以得知,數(shù)字范圍在48~57的都是數(shù)字字符。
2.用isdigit()函數(shù)判斷字符串是否為數(shù)字。
isdigit()函數(shù)包含在ctype.h頭文件中,
原型: int isdigit(char c);
用法:#include ctype.h
功能:判斷字符c是否為數(shù)字
說明:當(dāng)c為數(shù)字0-9時,返回非零值,否則返回零。
3.下面使用isdigit()實現(xiàn)一個判斷字符串是否為數(shù)字的代碼。這個函數(shù)是判斷某一個字符是否為數(shù)字,可以用一個字符數(shù)組接受輸入的字符,然后循環(huán)判斷每一個字符是否為數(shù)字,如果其中一個不是數(shù)字,那么返回0,否則返回非0;包含了判斷小數(shù)點的個數(shù)和負(fù)數(shù)符號-。
#includestdio.h
#includectype.h
void main()
{
char a[10];
int i,j,flag=0;??? /*flag標(biāo)記小數(shù)點個數(shù),如果超過一個,那么就不是數(shù)字*/
printf("input a number:\n");
scanf("%s",a);
for(i=0;a[i]!=0;i++)
{
if(i==0(a[i]=='+'||a[i]=='-'))
{
i++;
continue;
}???????????? /*如果第一個字符為+或-,不判斷為非數(shù)字,可能是符號標(biāo)志,繼續(xù)向下判斷*/
if(a[i]=='.')
{
flag++;
if(flag1)?? /*如果小數(shù)點個數(shù)超過一個,則表示不是數(shù)字*/
{
break;
}
else if(flag==1) /*如果小數(shù)點個數(shù)為1個,則可能為小數(shù),繼續(xù)判斷*/
{
continue;
}
}
j=isdigit(a[i]);
if(j==0)
{
break;
}
}
if(j!=0)
printf("%s yes",a);
else
printf("%s no",a);
getch();
}
c語言中大部分自帶的方法都有返回值,像scanf方法如果輸入正確的話,它會返回一個正整數(shù),所以你可以通過它來判斷,如果輸入不正確的話它返回是0,你就可以通過這個判斷是否為非法輸入。
scanf()函數(shù)有返回值且為int型。
scanf()函數(shù)返回的值為:正確按指定格式輸入變量的個數(shù);也即能正確接收到值的變量個數(shù)。
scanf("%d%d",
a,
b);
如果a和b都被成功讀入,那么scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯誤或遇到end
of
file,返回值為EOF。
網(wǎng)頁名稱:c語言如何限制輸入函數(shù),c語言如何輸入一個數(shù)
轉(zhuǎn)載源于:http://muchs.cn/article0/hcgoio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、ChatGPT、網(wǎng)站排名、做網(wǎng)站、外貿(mào)建站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)