當前位置:首頁 » 編程語言 » c語言輸入數值後怎麼確認
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸入數值後怎麼確認

發布時間: 2022-05-20 22:56:57

A. c語言scanf函數,在輸入數據的時候,是按什麼來判定數據輸入完畢的呢

每個數都有賦值然後按下回車就可以判定了啊,不是非得回車當間隔,如果是scanf("%d,%d,%d,&a,&b,&c")的話就是拿逗號判定間隔的,每個數都接收到賦值了,然後按下回車,這樣判定輸入完畢

B. C語言怎麼確定int數組輸入了幾個數

首先,要明確您的輸入在何種情況下表示終止,是空格,還是回車?。。
就像字元串,用scanf()就是遇到空格後,將空格前的字元串讀入,用gets()就是遇到回車後把整行讀入。。
如果說您的輸入是在回車後終止的,有個簡單的辦法,就是在每讀取一個數字後,判斷一下用戶是敲空格還是回車。。
程序代碼如下:
#include
<stdio.h>
int
main(void)
{

int
a[100];

int
i;

scanf("%d",
&a[0]);

i
=
1;

while
((int)getchar()
!=
10)

{

scanf("%d",
&a[i]);

i++;

}

printf("一共%d個數\n",
i);

system("pause");

return
(0);
}
運行結果如下:
但是這個程序有很多問題,比如用戶在輸入空格後,再敲回車,就退出不了了。。
其實通常情況是這么做的,就是自己設定個結束標志,比如當用戶輸入
-1
的時候,終止輸入。。
如果情況更復雜的話,估計就只能以字元串形式輸入,然後再一個字元一個字元的判斷了。。

C. c語言中如何怎麼判斷輸入的是數字

#include <stdio.h>
#include <string.h>

// 枚舉類型:自然數,整數,小數 , 未知
enum TYPE {Natural,Integer,Float,Unkonwn};

/*
一個合法的數字(包括自然數,整數,小數)的格式是:
[+-](可選) + [0個或多個數字] + [小數點](可選) + [0個或多個數字]
比如:

+1
1
-1

+3.14
3.14
-3.14

+3.
3.
-3.

+.123
.123
-.123

都是合法的數字

*/
enum TYPE check(char s[])
{
int length = strlen(s);
int start = 0 , end = length-1;
// 去開始空白字元
while(start < length && s[start]==' ' || s[start]=='\t'){start++;}
// 去結尾空白字元
while(end >=0 && s[end]==' ' || s[end]==' '){end--;}

// 是否負數標識
bool isNegative = false;
// 是否小數標識
bool isFloat = false;
// 是否有整數部分
bool hasIntegerPart = false;
// 是否有小數部分
bool hasDecimalPart = false;

for(int i = start ; i <= end ; i++)
{
if(s[i] == '-' || s[i] == '+')
{
if(i == start)
isNegative = (s[i] == '-');
else
return Unkonwn;
}
else if(s[i] == '.')
{
if(!isFloat)
isFloat = true;
else
return Unkonwn;
}
else if(s[i] >= '0' && s[i] <='9')
{
if(!isFloat)
hasIntegerPart = true;
else
hasDecimalPart = true;
}
else
{
return Unkonwn;
}
}

if(isFloat)
{
if(hasIntegerPart || hasDecimalPart)
return Float;
else
return Unkonwn;
}
else
{
if(!isNegative)
return Natural;
else
return Integer;
}
}
int main(int argc, char *argv[])
{
char s[100];
enum TYPE type;
while(1)
{
scanf("%s",s);
type = check(s);
switch(type)
{
case Natural:
printf("%s\n","Natural");
break;
case Integer:
printf("%s\n","Integer");
break;
case Float:
printf("%s\n","Float");
break;
case Unkonwn:
printf("%s\n","Unknown");
break;
}
}

return 0;
}
/*
測試數據:

+1
1
-1

+3.14
3.14
-3.14

+3.
3.
-3.

+.123
.123
-.123

*/

D. c語言中如何判斷輸入的是字元還是數字

1、可以用sacnf或gets函數直接接收輸入的字元串,然後用循環遍歷字元串中每一個字元,判斷其是字母還是數字。

2、可以用循環調用getch()或getchar()函數來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。

3、假設字元c,滿足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,滿足 (c>=0 && c<=9)就是數字。

(4)c語言輸入數值後怎麼確認擴展閱讀:

getch():

所在頭文件:conio.h

函數用途:從控制台讀取一個字元,但不顯示在屏幕上

函數原型:int getch(void)

返回值:讀取的字元

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();會等待你按下任意鍵,再繼續執行下面的語句;

用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ASCII碼賦給ch,再執行下面的語句。

E. C語言中怎樣設置輸入數據後按回車確定

?????
當你輸完需要的數據,按回車,自動的哇
不用設置
你數據沒輸完的話,按回車不管用
不是會退出,是程序已經運行完了,自己退出了
你有沒有發現這時候DOS的框閃了一下?
解決的方法是,在程序最後的}之前加一句
getch();
意思是需要有操作才能繼續運行
程序在這里已經運行完了,結果顯示出來了,再隨便按個鍵退出

F. C語言2021在控制台執行時輸入數據後再怎麼做

一般的程序都有輸入和輸出, 程序對輸入的數據加工、計算、處理後,再輸出。 C語言程序也是如此, 輸入數據後, 可以進行各種處理,運算,然後輸出結果。
比如:輸入3個數,按從小到大的順序輸出來。 有輸入、處理 和輸出。

G. c語言中如何確定輸入內容為數字 ps:只能輸入一次輸入的,輸入的內容確定為數字後,該數字還要參加運算

用%s格式接收字元
,再判斷接受的每一位是不是大於等於0且小於等於9
是的話
就為數字

H. C語言中如何判斷輸入的是正確的數

舉例:
假如你需要用戶輸入的是一個二位數(比如:52)
如果用戶輸入:cc然後回車,那麼你可以先獲取用戶整體輸入(以回車符結束)放入數組,然後通過轉換得到它的ASCII值,若比9大則出錯咯,進入重新輸入.
某些高級語言就直接能判斷類型.
這里給出一個小的判斷程序:
//假定你希望用戶輸入數字
#include
#include
#include
int
main()
{

int
i
=
getchar();

while
(i
>
57
||
i
<
48
)

{

i
=
getchar();

}

//這里你可以自己實現將ASCII碼轉換位十進制數

cout
<<
i
<<
endl;

return
0;
}