當前位置:首頁 » 編程語言 » 用c語言數組實現統計字母的個數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

用c語言數組實現統計字母的個數

發布時間: 2022-11-05 16:15:29

c語言輸入一行字元串,如何統計其中的字母和數字的個數

要統計英文字母,空格,數字和其他字元的個數,代碼如下:

#include<stdio.h>

#include<stdlib.h>

int main()

{

char c;

int letters=0;

int space=0;

int digit=0;

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

system("pause");

return 0;

}

(1)用c語言數組實現統計字母的個數擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include<math.h>//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在當前項目中的函數原型、類型定義和宏

你可以在#include命令中使用宏。如果使用宏,該宏的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

當上述程序代碼進入預處理時,如果_DEBUG_宏已被定義,那麼預處理器會插入myProject_dbg.h的內容;如果還沒定義,則插入myProject.h的內容。

❷ c語言統計字母出現次數

看我旁邊做的註解

cnt(s,array); /*調用子函數cnt,並傳給參數s,
array。s是字元數組,相當於字元串指針;array是數組好理解*/
for(i=0;i<26;i++)
printf("%d",array[i]);
/*
for循環
依次輸出26個字母出現的次數。這里%d後面加個空格或逗號分隔才好
*/
printf("\n");

子函數
void
cnt(char
*p,int
arr[])
/*
第一個參數是字元串指針,第二個參數是整型數組
*/
{
int
i;
for(i=0;i<26;i++) /*數組初始化*/
arr[i]=0;
/*
26個字母的個數全初始設置為0
*/
while(*p)
/*
循環,*p表示取指針p所指的字元,如果為0則表示字元串結束,退出循環
*/
{
if(*p>='a'&&*p<='z') /*數組元素判斷*/
/*
判斷是否是a到z的字母,若是才統計*/
arr[*p-'a']++; /*p與字母a的差值剛好就是數組arr下標*/
/*
字母a對應數組的下標是0,
b是1,依次類推
*/
p++;
/*
指針加1,
指向後面一個字元
*/
}
}

❸ C語言統計字母個數問題

思路:統計字母有兩種方式:

1.每次輸入一個字元,並判斷是否是字母,直到回車退出。

//參考代碼:
#include<stdio.h>
intmain()
{
charc;
intnum=0;
while((c=getchar())!=' ')
{
if(('A'<=c&&c<='Z')||('a'<=c&&c<='z'))
num++;
}
printf("%d",num);
return0;
}
/*
運行結果:
adfadsfasdf
11
*/

2.定義一個字元數組,一次輸入,最後遍歷該字元數組,統計字母個數。

//參考代碼
#include<stdio.h>
#include<string.h>
intmain()
{
charch[100];
gets(ch);
intnum=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);
return0;
}
/*
運行結果:
adfadsfasdf
11
*/

❹ C語言題目(數組部分):輸入一行字元,統計其中大寫字母、小寫字母、數字及其他字元的個數。怎麼編寫

#include<stdio.h>{

void counter(char*);

int n,i;

char array[100];

printf("enterastring:");

gets(array);

counter(array);

return0;

void counter(char*p){

int i,n,numUpperCase=0,numLowerCase=0,numSpace=0,numOther=0;

n=strlen(p);

for(i=0;i<n;i++){

if(*(p+i)>='A'&&*(p+i)<='Z')

numUpperCase++;

if(*(p+i)>='a'&&*(p+i)<='z')

numLowerCase++;

if(*(p+i)=='')

numSpace++;

else

numOther++;

printf("大寫字母%d\n小寫字母%d\n其他%d\n",numLowerCase,numLowerCase,numSpace,numOther);

(4)用c語言數組實現統計字母的個數擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

❺ 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!='';p++)

{

if((*p<='z'&&*p>='a')||(*p<='Z'&&*p>='A')) num[0]++;

else if(*p==' ') num[1]++;

else if((*p<='9'&&*p>='0')) num[2]++;

else num[3]++;

}

printf("%d %d %d %d ",num[0],num[1],num[2],num[3]);

}

(5)用c語言數組實現統計字母的個數擴展閱讀:

在寫代碼的過程中需要注意:

void main()的用法並不是任何標准制定的。 C語言標准語法是int main,任何實現都必須支持int main(void) { /* ... */ }和int main(int argc, char* argv[]) { /* ... */ }。

類似於a+=a++;或者(i++)+(i++)+(i++)屬於未定義行為,並不是說c語言中還未定義這種行為,它早有定論,它的結果取決於編譯器實現,不要寫這樣的代碼。

❻ C語言編程:輸入一串字母,統計每個字母出現的次數

C語言程序如下:

#include<stdio.h>

int main()

{

char a[100];

char b[24];

int s[100] = { 0 };//用於存儲字元的個數

gets(a);//輸入字元

//開始比較

for (int x = 0; x < 24; x++)

{

int c = 0;//記錄每個字元個數

b[x] = x + 97;//為了讓b[0]是a,b[1]是b依次類推

for (int i = 0; i < 100; i++)

{

if (b[x] == a[i])

{

++c;

s[x] = c;

}

}

if (s[x]>=1)//只輸出輸入中有的字母 的個數

{

printf("%c %d ", b[x], s[x]);

}

}

getchar();

return 0;

}

(6)用c語言數組實現統計字母的個數擴展閱讀:

程序思路:
分為三部分 首先輸入字元串 ,其次設定一個字元數組英文小寫字母24, 同時設一個int數組 記錄個數, 以及一個int c 為了給int數組賦值。最後在輸入的時候進行判斷,如果字母的值 大於等於1才輸出。

❼ C語言 數組 統計英文字母個數

你好像沒有對字母排序。試試這個,比你的簡單,設一個26位的數組,掃描一遍字元串,是第幾位英文字母,就在數組的第幾號元素加1。最後輸出數組非0元素就行了。
#include <stdio.h>
void main()
{
int a[26]={0},i;
char x[50],*p=x;
bool flag=true;
gets(x);
while(*p)

{
if(*p>='a' && *p<='z')
a[*p-'a']++;
if(*p>='A' && *p<='Z')
a[*p-'A']++;
p++;
}
for(i=0;i<26;i++)
{
if(a[i])
{
if(flag)
{
printf("%d",a[i]);
flag=false;
}
else
printf(" %d",a[i]);
}
}
printf("\n");
}

❽ C語言統計二維字元數組里的字母個數怎麼做

#include<stdio.h>
intfun(charar[4][6],charc)
{
intcount=0,i,j;
for(i=0;i<4;++i)
for(j=0;j<6;++j)
if(ar[i][j]==c)
++count;
returncount;
}
intmain()
{
charc,a[4][6];
inti;
printf("輸入4行字元串到數組中: ");
for(i=0;i<4;i++)
gets(a[i]);
printf("輸入要統計的字元: ");
scanf("%c",&c);
printf("字元數:%d ",fun(a,c));
return0;
}

❾ 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語言統計字母個數問題

思路:統計字母有兩種方式:
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
*/