統計字母個數c語言
㈠ c語言統計字元串中字母個數是多少
可以使用以下代碼進行統計:
#include
main()
{undefined
intacount=0,bcount=0,ccount=0,dcount=0;
chara;
printf("請輸入一行字元: ");
a=getchar();
while(a!=' ')
{undefined
switch(a)
{undefined
case'q':
case'w':
case'e':
case'r':
case't':
case'y':
case'u':
case'i':
case'o':
case'p':
case'a':
case's':
case'd':
case'f':
case'g':
case'h':
case'j':
case'k':
case'l':
case'z':
case'x':
case'c':
case'v':
case'b':
case'n':
case'm':
case'Q':
case'W':
case'E':
case'R':
case'T':
case'Y':
case'U':
case'I':
case'O':
case'P':
case'A':
case'S':
case'D':
case'F':
case'G':
case'H':
case'J':
case'K':
case'L':
case'Z':
case'X':
case'C':
case'V':
case'B':
case'N':
case'M':
acount++;break;
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
case'0':
bcount++;break;
case'':
ccount++;break;
default:
dcount++;break;
}
a=getchar();
}
printf("字母數:%d 空格數:%d 數字數:%d 其他字元:%d ",acount,ccount,bcount,dcount);
}
分組編寫函數:
編寫一個函數void fun(char *tt,int pp[]),統計在tt字元中"a"到"z"26各字母各自出現的次數,並依次放在pp所指的數組中。
#include<stdio.h>
#include<string.h>
void fun(char *tt,int pp[]);
void main()
{
char tt[50];
int pp[26]={0};
printf("Input a string: ");
gets(tt);
fun(tt,pp);
}
void fun(char *tt,int pp[])
{
int i;
for(i=0;i<strlen(tt);i++)
{
if(*(tt+i) >= 'a' && *(tt+i) <= 'z')
pp[*(tt+i)-'a']++;
}
for(i = 0;i < 26;i++)
printf("%c appeared %d times ",'a'+i,pp[i]);
}
㈡ C語言簡單編程(字母數統計)
#include<stdio.h>
int counte;
int counts;
int countn;
int counto;
void count(char a[])
{
int i;
counte=0;
counts=0;
countn=0;
counto=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='0'&&a[i]<='9')
countn++;
else if(a[i]==' ')
counts++;
else if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')
counte++;
else
counto++;
}
}
main()
{
char str[100];
gets(str);
count(str);
printf("e=%d,s=%d,n=%d,o=%d",counte,counts,countn,counto);
}
其中 count函數的 else if(a[i]==' ')寫錯了,這個才是,『=』是賦值,==才是比較。
㈢ C語言統計字母個數問題
思路:統計字母有兩種方式:
1.每次輸入一個字元,並判斷是否是字母,直到回車退出。
//參考代碼:
#include<stdio.h>
int main()
{
char c;
int num=0;
while((c=getchar())!='\n')
{
if(('A'<=c&&c<='Z')||('a'<=c&&c<='z'))
num++;
}
printf("%d",num);
return 0;
}
/*
運行結果:
adf adsfasdf
11
*/
2.定義一個字元數組,一次輸入,最後遍歷該字元數組,統計字母個數。
//參考代碼
#include<stdio.h>
#include<string.h>
int main()
{
char ch[100];
gets(ch);
int num=0,i;
for(i=0;i<strlen(ch);i++)
if(('A'<=ch[i]&&ch[i]<='Z')||('a'<=ch[i]&&ch[i]<='z'))
num++;
printf("%d",num);
return 0;
}
/*
運行結果:
adf adsfasdf
11
*/
㈣ C語言編程,用while語句,輸入一行字元統計字母的個數
代碼如下:
#include <stdio.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("請輸入一行字元:");
while ((c=getchar())!=' ')
{
if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z')
{
letters++;
}
else if (c == ' ')
{
space++;
}
else if (c >= '0'&&c <= '9')
{
digit++;
}
else
{
other++;
}
}
printf("字母數:%d 空格數:%d 數字數:%d 其他字元:%d ",letters,space,digit,other);
return 0;
}
(4)統計字母個數c語言擴展閱讀
while的執行順序
while 循環的執行順序非常簡單,它的格式是:
while (表達式)
{
語句;
}
當表達式為真,則執行下面的語句;語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句;然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。這個就是 while 的執行順序。
注意,初學者編程時,if、else、for、while、do 後面的執行語句不論有多少行,就算只有一行也要加「{}」,養成良好的編程習慣尤為重要。
再來看一下 for 循環的格式:
for (表達式1;表達式2;表達式3)
在 for 循環的格式中,表達式 1、表達式 2 和表達式 3 在 while 循環中一個也不少,只不過不像 for 循環那樣寫在一起,而是分開寫。在 while 循環中,循環變數 i 在定義的時候就給它賦初值,++i 則是寫在 while 的循環體內。只有循環判斷表達式與 for 一樣,都是寫在其後的括弧中。
並且所有的 for 循環都可以轉化成 while 循環,不僅如此,所有的 while 循環也都可以轉化成 for 循環,for 循環和 while 循環可以相互轉換。
㈤ c語言中怎樣統計字元串中包含英文字母的個數
c語言中要統計字元串中包含英文字母的個數可以參考以下內容:
main()
{
char str[100],*p;
int num[4],i;
p=str;
gets(str);
for(i=0;i<4;i++)
num[i]=0;
for(;*p!='