1樓:問明
#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')digits++;
else if(c==' ')
spaces++;
else
others++;
printf("字母有%d個,數字有%d個,空格有%d個,其他有%d個",letters,digits,spaces,others);
return 0;
2樓:1024程式設計師
c語言經典例子之統計英文、字母、空格及數字個數
3樓:匿名使用者
#include
void main ()
{char x;
printf ("請輸入一串字元\n");
//scanf("%c",&x); 這一行應該去掉int letter=0,blank=0,number=0,other=0;
while((x=getchar( ))!='\n')if('a'<=x&&x<='z'||'a'<=x&&x<='z')letter++;
else if(x==' ')
blank++;
else if('0'<=x&&x<='9')number++;
else
other++;
printf("字母的個數%d,空格的個數%d,數字的個數%d,其他符號的個數%d",letter,blank,number,other);
這樣應該可以了,你試試看。
4樓:小橋流水江月
這個問題,在《c語言程式設計》清華大學出版社中有提到,在p78,下面附上**,具體情況你自己看吧:
//輸入一行字元,統計並輸出其中的英文字元,數字字元,空格和其他字元的個數
#include"stdio.h"
void main()
輸入一行字元,分別統計出其中英文字母,空格,數字和其他字元的個數
5樓:凌亂心扉
#include
int main()
printf("字母有%d個,數字有%d個,空格有%d個,其他有%d個",letters,digits,spaces,others);
return 0;
}while語句若一直滿足條件,則會不斷的重複下去。但有時,需要停止迴圈,則可以用下面的三種方式:
一、在while語句中設定條件語句,條件不滿足,則迴圈自動停止。
如:只輸出3的倍數的迴圈;可以設定範圍為:0到20。
二、在迴圈結構中加入流程控制語句,可以使使用者退出迴圈。
1、break流程控制:強制中斷該執行區內的語句,跳出該執行區,繼續執行區域外的語句。
2、continue流程控制:也是中斷迴圈內的執行操作,並且從頭開始執行。
三、利用標識來控制while語句的結束時間。
6樓:程式設計師的每一天
c語言經典例子之統計英文、字母、空格及數字個數
7樓:函念之公承
/*輸入一行文字,找出其中大寫字母,小寫字母,空格,數字,及其他字元各有多少個.
*/#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*/
8樓:其鴻熊璞
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;}
9樓:荊芳菲力蒼
程式如下所示,僅供參考
:#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()
希望對你有幫助,呵呵!
10樓:拓跋秀榮鞏寅
((ch=getchar())!='\n')的作用首先將getchar()賦值給ch,然後將ch的值作為括號內賦值表示式的結果參與!=運算.這個表示式在一行內實現了賦值和判斷.
其意義就是判斷getchar取得的字元是否為回車,並把getchar()賦值給ch.
getchar只能接受單個字元
想接受一行字元可以使用getline().getline會在輸入流中讀取連續的字元直到遇到回車符,如果讀入流為空則返回0.
11樓:釁行令家美
其它都沒有問題,第7行最後多了個分號
1while((c=getchar())!='\n');
應該為1
while((c=getchar())!='\n')
12樓:萬理鳳歆美
用字元讀,然後一個個判斷,
你可以一樣寫,比如先統計字母,
然後再加入統計空格,
一個測試正確了再加入其他功能,這樣最後就全了
13樓:我是老才不壞
有這樣的軟體啊!這個軟體據說是電腦上都配備的有。不能,不但能檢測出一段文稿的字數。還能檢測出裡面有多少錯別字,有多少字母,有多少數字。那功能是相當強的,非常實用。
14樓:匿名使用者
這個用c語言還是用c加加寫出來
15樓:示辰檢任真
#include
"stdio.h"
void
main()
printf("%d,%d,%d,%d",yw,kg,sz,qt);}
16樓:代任岑安安
||#include
"stdio.h"
#include
void
main()
printf("%d,%d,%d,%d",yw,kg,sz,qt);}
17樓:丘燦墨梓榆
|可能是優先順序的問題,你在判斷的時候加上括號,還有最後一個不需要條件。
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++;
18樓:墨霖祈從蕾
c++**如下:
有問題還請追問.
#include
using
namespace
std;
intmain()
cout<<"英文字
母:"< <<"數字:"< <<"其他:"< return0;}附圖: 19樓:興義焦亦綠 c語言如下 :struct result ;void check(char* str,struct result& ret) cout
'\0')} 20樓:種令芮德曜 vb可以不?vb的**我有 21樓:隨澤申彤雲 幾個小錯誤,我都標記出來了,另外我的編譯器是預設intmain()如果你的不是,請繼續用voidmain()這個程式已在devc++下編譯通過,並且結果正確。 程式如下,改過的地方用粗體標出了: #include #include void main() printf("%d,%d,%d,%d",yw,kg,sz,qt);} 22樓:昝揚第五天驕 主要是沒賦初值 和==才是等於 =是賦值 c語言題目輸入一行字元,分別統計出其中英文字母,空格,數字和其他字元的個數。 23樓:非常可愛 錯誤**: 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;} 24樓:匿名使用者 錯誤**: 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;} 25樓:匿名使用者 一、問題分析: 輸入一行字母,那麼會以換行結束。所以可以存入陣列,也可以逐個輸入,遇到換行結束。 要統計各個類的個數,就要逐個判斷是哪個分類的。 由於在ascii碼中,數字,大寫字母,小寫字母分別連續,所以可以根據邊界值判斷型別。 二、演算法設計: 1、讀入字元,直到遇到換行結束。 2、對於每個字元,判斷是字母還是數字,或者空格,或者是其它字元。 3、對於每個字元判斷後,對應類別計數器自加。 4、最終輸出結果。 三、參考**: #include int main() printf("%d %d %d %d\n", a,b,c,d);//輸出結果。 return 0;} 26樓:gta小雞 開始↓gets()讀一行字元存到char *s中strlen()函式求字串s長度 陣列cal[4]用來累計字母、空格、數字、特殊字元的個數for(i=0;i 輸出cal陣列各元素的值結束 你好!程式在你基礎之上改的,你看看吧,滿意請採納 include int main j 0,第一個字元開始printf 請輸入一行字元 scanf s str ip str while ip j 0 j i 1 for i 0 i 52 i 迴圈顯示出有的字元個數 ip str 錯了。改成ip st... 利用c 的string類物件解決。可以先給物件賦一個空格字串,把從鍵盤接收的字元追加其後,以方便統一查詢。舉例如下 include stdafx.h if the vc 6.0,with this line.include include using namespace std int main i... c語言輸入一行有空格的字串的方法 1 對於char char s 100 1000 第二個參數列示允許輸入的最大長度while 1000 輸入輸出樣例。輸入 he llo 輸出 he llo 2 對於string string s getline cin,s while getline cin,s ...
輸入一行字元,分別統計其中各英文字母出現的次數,求糾錯TAT
C 輸入一行字元,統計其中單詞的個數 各單詞之間用空格分隔
C語言如何輸入一行有空格的字串?