c語言判斷數字
❶ c語言 輸入一個字元,判斷是字母,數字,還是特殊字元
可以根據以下代碼進行判斷:
#include<stdio.h>
int main()
{
char c ;
while(scanf("%c",&c)!=EOF)
{
getchar();
if(c >='0' && c<='9')
printf("%c是數字 ",c);
else if(c >='a' && c<='z' || c >='A' && c<='Z')
printf("%c是字母 ",c);
else printf("%c是特殊字元 ",c);
}
return 0;
}
ASCII 碼使用指定的7 位或8 位二進制數組合來表示128 或256 種可能的字元。標准ASCII 碼也叫基礎ASCII碼,使用7 位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。
其中:
0~31及127(共33個)是控制字元或通信專用字元(其餘為可顯示字元),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等;
通信專用字元:SOH(文頭)、EOT(文尾)、ACK(確認)等;ASCII值為8、9、10 和13 分別轉換為退格、製表、換行和回車字元。它們並沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響。
32~126(共95個)是字元(32是空格),其中48~57為0到9十個阿拉伯數字。
65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其餘為一些標點符號、運算符號等。
❷ 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
*/
❸ C語言判斷數字和字元
判斷是不是字元c可以使用:
if(g=='c')
滿足這個便是c
注意大小寫
❹ C語言,如何判斷一個數是數字啊
用scanf()從鍵盤輸入讀入一個字元串(注意別越界),之後編個循環檢測每個字元,若存在不是字元'.',且>'0',<'9'的字元,那就不是數字,字元'.'若出現一次以上也不是數字。
❺ c語言里 輸入時 怎麼判斷是字元還是數字
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
❻ C語言:如何判斷輸入的是數字還是其他字元
有很多方法:
1、可以用sacnf或gets函數直接接收輸入的字元串,然後用循環遍歷字元串中每一個內字元,判斷其是字容母還是數字。
2、可以用循環調用getch()或getchar()函數來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。
至於怎麼判讀是字母還是數字,很簡單,假設字元c,
滿足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
滿足 (c>='0' && c<='9')就是數字。
❼ c語言 如何判斷輸入的是數字還是字母
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建版一個初始的.cpp文件,例權如:test.cpp。
❽ C語言 判斷字元是否是一個數字的兩種方法
內部函數
#include<stdio.h>
#include<ctype.h>
intmain()
{
charnum;
scanf("%c",&num);
if(isdigit(num)==0)
{
printf("不是數字 ");
}
else
{
printf("是數字 ");
}
return0;
}
自定義函數
#include<stdio.h>
#include<ctype.h>
intmain()
{
charnum;
scanf("%c",&num);
if(num>='0'&&num<='9')
printf("是數字 ");
else
printf("不是數字 ");
return0;
}
❾ c語言中如何判斷輸入的是字元還是數字
1、可以用sacnf或gets函數直接接收輸入的字元串,然後用循環遍歷字元串中每一個字元,判斷其是字母還是數字。
2、可以用循環調用getch()或getchar()函數來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。
3、假設字元c,滿足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,滿足 (c>=0 && c<=9)就是數字。
(9)c語言判斷數字擴展閱讀:
getch():
所在頭文件:conio.h
函數用途:從控制台讀取一個字元,但不顯示在屏幕上
函數原型:int getch(void)
返回值:讀取的字元
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();會等待你按下任意鍵,再繼續執行下面的語句;
用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ASCII碼賦給ch,再執行下面的語句。
❿ C語言,怎麼判定,是不是數字
由於數字的ascii碼值是連續的,所以可以通過與最小的數字'0'以及最大的數字'9'相比較,確定一個字元變數是否為數字。
比如
if(c>='0' && c<='9') printf("%c 是數字\n",c);
else printf("%c 不是數字\n",c);
如果判斷要經常使用,可以將該功能封裝為函數:
int is_num(char c)
{
return (c>='0' && c<='9');
}
或者宏定義:
#define is_num(c) (c>='0' && c<='9')