輸入一行字元,分別統計出其中大小寫英文本母 空格 數字和其他字元的個數

2021-03-26 07:02:56 字數 6836 閱讀 9658

1樓:小刺蝟

你的程式沒改時的錯誤,由此可見,你的程式p[0]  p[n] 第乙個和最後乙個字元不能識別

2樓:百度使用者

以下程式在win-tc下除錯通過 /* 輸入一行文字 找出其中大寫字母小寫字母空格數字及其他字元各有多少 */ # include "stdio.h" # include "conio.h" void main(void) printf("upper case:

%d lower case:%d ",upper,lower); printf("space:%d digit:

%d other:%d ",space,digit,other); getch(); }

滿意請採納。

3樓:匿名使用者

開始----輸入-----提取第乙個字元(計算輸入的字元長度)-----比較是什麼(如果是大寫字母,a計數器+1;如果是小寫字母,b計數器+1,....) -------提取第二個字元-----比較是什麼(如果是大寫字母,a計數器+1;如果是小寫字母,b計數器+1,....)-----提取第三個字元-----比較是什麼(如果是大寫字母,a計數器+1;如果是小寫字母,b計數器+1,....

) 就這樣下去

4樓:匿名使用者

一、問題分析:

輸入一行字母,那麼會以換行結束。所以可以存入陣列,也可以逐個輸入,遇到換行結束。

要統計各個類的個數,就要逐個判斷是哪個分類的。

由於在ascii碼中,數字,大寫字母,小寫字母分別連續,所以可以根據邊界值判斷型別。

二、演算法設計:

1、讀入字元,直到遇到換行結束。

2、對於每個字元,判斷是字母還是數字,或者空格,或者是其它字元。

3、對於每個字元判斷後,對應類別計數器自加。

4、最終輸出結果。

三、參考**:

#include

int main()

printf("%d %d %d %d\n", a,b,c,d);//輸出結果。

return 0;}

5樓:匿名使用者

||用for語句編的.....

#include

void main()

printf("zimu:%d\nspace:%d\nshuzi:%d\nqita:%d\n"z,k,s,q);}

6樓:匿名使用者

#include

#include

#define a 80

main()

printf("英文本元有:%d\n",letter);

printf("數字字元有:%d\n",digit);

printf("空格有:%d\n",space);

printf("其他字元有:%d\n",others);}

輸入一行字元,分別統計出其中英文本母,空格,數字和其他字元的個數

7樓:凌亂心扉

#include

int main()

printf("字母有%d個,數字有%d個,空格有%d個,其他有%d個",letters,digits,spaces,others);

return 0;

}while語句若一直滿足條件,則會不斷的重複下去。但有時,需要停止迴圈,則可以用下面的三種方式:

一、在while語句中設定條件語句,條件不滿足,則迴圈自動停止。

如:只輸出3的倍數的迴圈;可以設定範圍為:0到20。

二、在迴圈結構中加入流程控制語句,可以使使用者退出迴圈。

1、break流程控制:強制中斷該執行區內的語句,跳出該執行區,繼續執行區域外的語句。

2、continue流程控制:也是中斷迴圈內的執行操作,並且從頭開始執行。

三、利用標識來控制while語句的結束時間。

8樓:程式設計師的每一天

c語言經典例子之統計英文、字母、空格及數字個數

9樓:函念之公承

/*輸入一行文字,找出其中大寫字母,小寫字母,空格,數字,及其他字元各有多少個.

*/#include

intmain()p=

&s[0];

while

(*p!=

'\n')

else

if(('a'

<=*p)&&

(*p<=

'z'))

else

if(''==

*p)else

if((*p

<='9')

&&(*p

>='0'))

else

p++;

}std::cout<<"upper

case:

"<結果:

input

string:

today

is2000/1/1

upper

case:

1lower

case:

6space:

2digit:

6other:

2press

anykey

tocontinue*/

10樓:其鴻熊璞

1while語句:

#include

intmain(void)

else

if(ch=='

')else

if(ch>='0'&&ch<='9')

else

}printf("字母=

%d,空格=

%d,數字=

%d,其它=

%d\n",char_num,kongge_num,int_num,other_num);

return0;}

2,do

while語句:

#include

intmain(void)

else

if(ch=='

')else

if(ch>='0'&&ch<='9')

else

}while((ch=getchar())!='\n')//回車鍵結束輸入,並且回車符不計入

printf("字母=

%d,空格=

%d,數字=

%d,其它=

%d\n",char_num,kongge_num,int_num,other_num);

return0;}

11樓:荊芳菲力蒼

程式如下所示,僅供參考

:#include

void

hlw(char

*s)printf("\n\n輸入的字串中\n\n字母個數為:%d\n數字個數為:%d\n空格個數為:

%d\n其他的字元個數為:%d\n\n",zimu,shuzi,kongge,qita);

}void

main()

希望對你有幫助,呵呵!

12樓:拓跋秀榮鞏寅

((ch=getchar())!='\n')的作用首先將getchar()賦值給ch,然後將ch的值作為括號內賦值表示式的結果參與!=運算.這個表示式在一行內實現了賦值和判斷.

其意義就是判斷getchar取得的字元是否為回車,並把getchar()賦值給ch.

getchar只能接受單個字元

想接受一行字元可以使用getline().getline會在輸入流中讀取連續的字元直到遇到回車符,如果讀入流為空則返回0.

13樓:釁行令家美

其它都沒有問題,第7行最後多了個分號

1while((c=getchar())!='\n');

應該為1

while((c=getchar())!='\n')

14樓:萬理鳳歆美

用字元讀,然後乙個個判斷,

你可以一樣寫,比如先統計字母,

然後再加入統計空格,

乙個測試正確了再加入其他功能,這樣最後就全了

15樓:我是老才不壞

有這樣的軟體啊!這個軟體據說是電腦上都配備的有。不能,不但能檢測出一段文稿的字數。還能檢測出裡面有多少錯別字,有多少字母,有多少數字。那功能是相當強的,非常實用。

16樓:匿名使用者

這個用c語言還是用c加加寫出來

17樓:示辰檢任真

#include

"stdio.h"

void

main()

printf("%d,%d,%d,%d",yw,kg,sz,qt);}

18樓:代任岑安安

||#include

"stdio.h"

#include

void

main()

printf("%d,%d,%d,%d",yw,kg,sz,qt);}

19樓:丘燦墨梓榆

|可能是優先順序的問題,你在判斷的時候加上括號,還有最後乙個不需要條件。

if(i[j]='

')kg++;

else

if((i[j]>='a'&&i[j]<='z')||(i[j]>='a'&&i[j]<='z'))

yw++;

else

if(i[j]>='0'&&i[j]<='9')sz++;

else

qt++;

20樓:墨霖祈從蕾

c++**如下:

有問題還請追問.

#include

using

namespace

std;

intmain()

cout<<"英文本

母:"<<**t_e<

<<"數字:"<<**t_n<

<<"其他:"<<**t_other<

return0;}附圖:

21樓:興義焦亦綠

c語言如下

:struct

result

;void

check(char*

str,struct

result&

ret)

cout

'\0')}

22樓:種令芮德曜

vb可以不?vb的**我有

23樓:隨澤申彤雲

幾個小錯誤,我都標記出來了,另外我的編譯器是預設intmain()如果你的不是,請繼續用voidmain()這個程式已在devc++下編譯通過,並且結果正確。

程式如下,改過的地方用粗體標出了:

#include

#include

void

main()

printf("%d,%d,%d,%d",yw,kg,sz,qt);}

24樓:昝揚第五天驕

主要是沒賦初值

和==才是等於

=是賦值

c語言題目輸入一行字元,分別統計出其中英文本母,空格,數字和其他字元的個數。

25樓:非常可愛

錯誤**:

if('a'<=nextchar<='z'||'a'<=nextchar<='z')

else if('0'<=nextchar<='9')修改後:

#include

int main()

}擴充套件資料

c++輸入一行字元,分別統計出其中英文本母、空格、數字和其他字元的個數。

#include

int main()

printf("%d %d %d %d\n",a,b,c,d);

return 0;}

26樓:匿名使用者

錯誤**:

1.'a'<=nextchar<='z'||'a'<=nextchar<='z';

2.'0'<=nextchar<='9'。

錯誤原因:當多個條件時,需要使用邏輯運算子。

修改後**為:

int main(void)

else if (c == ' ')

else if (c >= '0'&&c <= '9')else

}printf("字母=%d,數字=%d,空格=%d,其他

return 0;}

27樓:匿名使用者

一、問題分析:

輸入一行字母,那麼會以換行結束。所以可以存入陣列,也可以逐個輸入,遇到換行結束。

要統計各個類的個數,就要逐個判斷是哪個分類的。

由於在ascii碼中,數字,大寫字母,小寫字母分別連續,所以可以根據邊界值判斷型別。

二、演算法設計:

1、讀入字元,直到遇到換行結束。

2、對於每個字元,判斷是字母還是數字,或者空格,或者是其它字元。

3、對於每個字元判斷後,對應類別計數器自加。

4、最終輸出結果。

三、參考**:

#include

int main()

printf("%d %d %d %d\n", a,b,c,d);//輸出結果。

return 0;}

輸入一行字元,分別統計出其中的英文字母,空格,數字和其它字元的個數

include int main char c int letters 0,spaces 0,digits 0,others 0 printf 請輸入一串任意的字元 n while c getchar n if c a c z c a c z letters else if c 0 c 9 digi...

C語言 輸入一行字元,統計其中有多少個單詞,單詞之間用空格分

include usingnamespacestd intmain chara ints 1 scanf c a while a if a a s scanf c a cout 擴充套件資料c語言統計檔案中的字元數 單詞數注意事項 1 空白字元 空格和tab縮排 不計入字元總數 2 單詞以空格為分隔...

編寫程式,輸入一行英文句子,統計其中的單詞個數假設單詞

include include int main printf the word number is d n number return 0 編寫程式,輸入字串 包含空格 統計其中單詞的個數,單詞之間以乙個或多個空格分隔。20 1 首先,定義乙個整型變數,儲存找到的字串位置。2 定義兩個字串變數,儲...