C語言輸入字元(用迴圈結構),編寫函式,檢測是否為空格,是否為數字,是否為母音

2021-04-21 01:32:39 字數 4569 閱讀 8610

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...