凶求教c語言輸入一行字元分別統計出其中字母

2021-12-19 14:51:19 字數 5923 閱讀 7791

1樓:1024程式設計師

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

2樓:匿名使用者

printf("輸入一行字元:");

char str[100];//首先你是要輸入一行字元,char str 定義的是一個字元,你要使用陣列

int i=0,a=0,b=0,c=0,d=0;

gets(str);

while(i!=strlen(str))//這裡迴圈條件要改下如果陣列內容遍歷完了就退出迴圈

printf("字母有%d個,空格有%d個,數字有%d個,其他字元有%d個\n",a,b,c,d);

新手c語言小白求教

3樓:

第一個問題,你的**在ch=getch()之前就給password[i]賦值,就會造成你輸入6個字元後

實際長度為7,這實際上已經陣列越界了,再加上最後的結束符,越界2個位元組。

所以,把先把password[i]=ch; 這句移到這裡if(ch!='\r'&&ch!='\b')第二個問題,如果你要輸入6位字元,那麼字元陣列應該定義為char password[7];

char passwordsure[7];

因為要多1個位元組儲存結束符'\0',否則輸滿6個字元的情況下,再password[i]='\0';

這會觸發陣列越界的錯誤,就算你的編譯器沒有觸發這個錯誤,這也是不對的。

4樓:

ch定義後,在while迴圈中,未輸入值就引用,是錯誤的。

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

5樓:非常可愛

錯誤**:

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;}

6樓:匿名使用者

錯誤**:

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;}

7樓:匿名使用者

一、問題分析:

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

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

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

二、演算法設計:

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

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

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

4、最終輸出結果。

三、參考**:

#include

int main()

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

return 0;}

8樓:gta小雞

開始↓gets()讀一行字元存到char *s中strlen()函式求字串s長度

陣列cal[4]用來累計字母、空格、數字、特殊字元的個數for(i=0;i

輸出cal陣列各元素的值結束

9樓:匿名使用者

即學了程式設計又學了英語(沒學好……),豈不美哉?

(printf()函式能用那種方式是因版本的關係)

本程式的優點:不受到字串長度的限制,執行效率高

#include

int main (void)

++resnum;                    //attention! because of the newline (ascii: 10)!

//data output

printf ("\nthe results of data processing are as fellows.\n");

printf ("the number of letters:%8d\n"

"the number of space: %8d\n"

"the number of digits: %8d\n"

"the number of others:%8d\n",

letnum, spanum, dignum, resnum);

//the end

printf ("\nthank you for your using!");

return 0;}

10樓:匿名使用者

#include

int main()

if(e>='0' && e<='9')// 數字是'0'到'9'的字元,不是ascii值0到9

if((e>=65&&e<=90)||(e>=97&&e<=122))//用c來接受字母的個數

else //用d來接受其他字元的個數

}printf("共輸入空格%d個\n",a);

printf("共輸入數字%d個\n",b);

printf("共輸入字母%d個\n",c);

printf("共輸入其他字元%d個\n",d);

return 0;}

11樓:匿名使用者

clear

accept "請輸入一串字元:" to xstore 0 to dyw,xyw,kg,sz,qtm=len(x)

for i=1 to m

x1=substr(x,i,1)

k=asc(x1)

do case

case k=32

kg=kg+1

case k>=48 and k<=57

sz=sz+1

case k>=65 and k<=90

dyw=dyw+1

case k>=97 and k<=122xyw=xyw+1

other

qt=qt+1

endcase

endfor

?"其中空格有: "+alltrim(str(kg))+"個"

?"大寫字母有: "+alltrim(str(dyw))+"個"

?"小寫字母有: "+alltrim(str(xyw))+"個"

?"數字有: "+alltrim(str(sz))+"個"

?"其它字元有: "+alltrim(str(qt))+"個"

12樓:匿名使用者

#include

int main(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);

return 0;}

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

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

14樓:瞌睡貓然

1 while語句:

#include

int main(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);

return 0;

}2 ,do while語句:

#include

int main(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);

return 0;}

15樓:聽不清啊

#include

int main()

16樓:我的小名叫仙女

|#include

#define n 100

int main()

printf("英文字母:%d\n",m);

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

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

printf("其他字元:%d\n",c);

return 0;}

17樓:

#include

#include

int main()

int qt=strlen(c)-zm-sz-kg;

printf("字母為%d 空格為%d 數字為%d 其它為%d\n",zm,kg,sz,qt);

return 0;

}望採納,不懂可追問.

18樓:匿名使用者

輸入一行字元=input("請輸入任意資料:")

數字個數=len(list(i for i in 輸入一行字元 if i.isdigit()==1))

中英文字母個數=len(list((i for i in 輸入一行字元 if i.isalpha()==1)))

空格個數=len(list(i for i in 輸入一行字元 if i==" "))

其他個數=len(輸入一行字元)-數字個數-中英文字母個數-空格個數

print("中有個數字,箇中英文字母,個空格個數,個其他".format(輸入一行字元,數字個數,中英文字母個數,空格個數,其他個數))

19樓:匿名使用者

#include

#include

#define a 80

main()

printf("英文字元有:

%d\n",letter);

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

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

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

20樓:匿名使用者

非要限制輸入的大小麼?過會兒給你發個

#include

#include

void main()

printf("lowercase:%d\t uppercase:%d\t digit:

%d\t space:%d\t others:%d\n",lowercase,uppercase,digit,space,others);}

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

可以用組合鍵的方式,比如ctrl c或者ctrl d。c語言經典例子之統計英文 字母 空格及數字個數 c語言程式設計 輸入一行字元,分別統計出其中英文字母,空格,數字和其他字元的個數,用while語句 謝謝 include int main printf 剛才輸入的字元中英文字元個數為 d n ch...

c語言,求大神編寫輸入字串,長度小於50,統計其中相鄰字元對出現的次數,然後輸出

從字bai符串第一個字元開始,把字元轉du成ascii碼,逐一向後zhi做減法,等於 dao1或者 1的時候就記一次相鄰 回int funcsub char szstr szstr return ret 主函式你自己寫吧 就是相鄰,之間沒有空格就是相鄰字元對?兩個for迴圈,搞定 c語言 對於給定的...

c語言如何使一行字串,按空格分開形成多個字串,然後再記錄每個已分開字串,比出長度最長的輸出

這個題是,一到測試題,條件太多了,答案比較籠統,但是對了 include include int main void chars 0 else chars printf d len j 1 for i k i printf c str i printf n return 0 include incl...