1樓:折柳成萌
scanf("%s",a[i]); 用%s 的話遇來
到空格或回車就會停止源讀取的了- -
連讀都讀bai不進去,怎du
麼統計,話
zhi說那個空格還在快取裡面,dao所以後續的scanf根本都沒有讀取- -
gets的話是遇見回車才停止讀取。。。另外呢 "1234567890"
上面那個字串的長度是10,但是字元陣列的長度是11,因為上面的字串實際上是
"1234567890\0" 所以實際上放了11個字元。你用10個字元的陣列存放11個字元,出錯是很正常的= =||
\0 是空字元,表示一個字串結束了,實際上基本所有字串處理函式都是遇到 \0才停止的。。。所以要是自己手工構造字串的話,記得把 '\0'算上。
2樓:紫薇命
||英語的母音就bai5個我這個邏輯沒
dao有隻是判斷了回字元是小寫的情答況,如果是大寫,那還需要加入判斷大寫的邏輯
3樓:自我程式設計
**即時重新整理顯示bai。du
每次輸入一個字元(按下按鍵就開zhi始判斷dao),完成判斷,並實時顯示在對專應屬字元下方。
#include
#include
#include
int main()
;for(i=0;i<5;i++)
return 0;}
4樓:天秤小乞
||#include
int main(int argc, char const *argv)}
5樓:碧海風雲
|#include
#include
int main (void)
for (i=0; i<5; i++)
getch (); /*螢幕暫留*/
return 0;}
c語言 輸入一個字元,判斷該字元是數字、字母、空格還是其他字元。
6樓:匿名使用者
三個空分別是:
1、ch >= 'a'&&ch<='z' || a>='a'&&ch<='z'
2、 ch >= '0' && ch<='9'
3、 ch == ' '
4、完整**
#include
#include int main()
else if(ch>='a'&&ch<='z')
else if(ch>='a'&&ch<='z')
else if(ch==' ')
else
} return 0;
}擴充套件資料
c語言特有特點
1、c語言是一個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。
2、c語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。
3、不同的變數型別可以用結構體(struct)組合在一起。
4、只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。
參考資料
7樓:匿名使用者
根據ascii碼值判斷即可。
#include
int main()
8樓:匿名使用者
三個空分別是:
1. ch >= 'a'&&ch<='z' || a>='a'&&ch<='z'
2. ch >= '0' && ch<='9'
3. ch == ' '
9樓:匿名使用者
//加上。
#include
if(isalpha(ch))...
else if(isdigit(ch))...
else if(ch == ' ')...
//不然就是樓上的答案。
10樓:我愛一蓑煙雨
# coding=utf-8
x=raw_input("")
if(x>='0')&(x<='9'):
print ("是數字")
elif((x.lower()>='a')&(x.lower()<='z')):
print ("是字母")
elif(x==' '):
print ("是空格")
else :
print("是其他")
11樓:宰父可欣傅媼
根據ascii碼值判斷即可。由於數字,大小寫字母均分別為連續儲存,所以只需要與對應的最大最小值比較即可確定字元型別。
**如下:
#include
int main()
12樓:徜逸
可以根據以下**進行判斷:
#include
int main()
return 0;
}判斷輸入字元的方式
由於每個字元通常都有一個特定的ascii碼,可以通過ascii碼進行判斷,當滿足輸入的字元滿足特定數值的ascii碼進行判斷。部分ascii碼如下:
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個小寫英文字母,其餘為一些標點符號、運算子號等。
13樓:匿名使用者
加上ch=getchar();後輸出的實際上是enter鍵
c語言怎麼判斷我輸入的5個字元中含有非數字字元?
14樓:匿名使用者
可以讀入五個輸入來的字源符,然後迴圈判斷是否為數字。
如果c是數字,那麼必須滿足 c>='0' && c <='9',反之則是不符合要求的。**如下:
int c[5];
int i;
for(i = 0; i < 5; i ++)c[i] = getchar();//讀入五個字元。
for(i = 0; i < 5; i ++)if(c[i]<'0' || c[i] >'9')break;//如果不符合,則退出迴圈。
if(i == 5) printf("全部為數字字元\n");//如i為5,則為正常退出,不是通過break退出的,說明全是數字字元。
else printf("存在不是數字字元的元素\n");
15樓:金色潛鳥
int k;
k = scanf("%d",&a[i]); 用scanf 返回值判斷 是否成功讀到數了。
if (k != 1) 讀到非法數了。
16樓:匿名使用者
你輸入的數字如果是三位數或者是四位數的話,那肯定是對的。你都scanf("%d",&a[i]);這樣了,如果你輸入1a3而不是123,那根本就讀不進去。
17樓:永恆の眷戀
你的意思是你要來連著輸入5個字自符,沒有空格也沒有換行?那你的輸入方法用錯了,因為%d的範圍可以包括int型別的取之範圍的,所以不管你輸入多少位,系統永遠認為你輸入的是一個int,你可以用gets()呀,先獲得連續的字串,你就可以用a[i]<'0' || a[i]>'9'來判斷了,當然a[i]的型別是char型別的,如果不確定是幾位,你可以定義char a[100],到時候用strlen獲得長度,a[strlen(a)] = '\0'就好啦 ,隨便寫個程式給你看看吧
#include
#include
int main()
else
printf("%c", a[i]);
}printf("\n%d\n", n);
getchar();
return 0;}
18樓:匿名使用者
看幫助,isdigit可以用來判斷
19樓:匿名使用者
ctype.h 中有個isdigital(),餘下的我就不多說了吧。
用C語言編寫程式,輸入字元,輸出它的字元值和ASCII值
1 計算機中的所有資料都是以二進位制儲存 的,因此字元也是以二進位制儲存且佔用一個位元組,在c語言中可以把char型當作只有一個位元組的有符號整數,8位有符號,最大正值就是127了。2 例如 可以這樣使用迴圈的 include include int main include include int...
用c語言編寫函式求表示式1,用c語言編寫函式求表示式11213141516171n的值
include main printf sum lf n sum include void main printf sum lf n sum c語言編寫函式求 1 1 2 1 3 1 4 1 5 1 6 1 n的值怎麼做?結果是什麼呢?需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編...
編寫c語言程式要求用結構體,編寫一個C語言程式,要求用結構體。
我給你寫一個 先給你寫一部分吧 include include typedef struct lnode lnode void createlnode int student number void sort main structstudent n 參賽學生總數,每人一個檔案 陣列 unsigne...