c語言字母出現次數
㈠ 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語言一段文字共三行每行有100個字元求每個字母出現的次數
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[3][100];
int i, j, count[26] = {0};
printf("輸入文字:\n");
for (i = 0; i < 3; i++)
{
gets(str[i]);
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < strlen(str[i]); j++)
{
if (isalpha(str[i][j]))
{
count[tolower(str[i][j]) - 'a']++;
}
}
}
printf("每個字母出現的次數:\n");
for (i = 0; i < 26; i++)
{
printf("%c : %d\n", 'a' + i, count[i]);
}
return 0;
}
輸入一段文字,將它存儲在一個字元數組str中。然後,我們遍歷文字中的每個字元,如果遍歷到的字元是字母,就將它的出現次數列印出來
㈢ C語言編程:輸入一串字母,統計每個字母出現的次數
#include<stdio.h>
void
main()
{
char
ch;
//ch用來每次接收一個字元
int
i,s[26]={0};
//數組s[]用來統計每個小寫字母的個數
printf("please
input
a
string:\n");
scanf("%c",&ch);
while(ch!='\n')
//輸入一行字元,以回車鍵結束
{
if(ch>'A'&&ch<'Z')
//遇到大寫字母時,轉換成小寫來處理
ch+=32;
s[ch-'a']++;
//0~25對應a~z
scanf("%c",&ch);
}
printf("\n");
for(i=0;i<26;i++)
if(s[i])
//只輸出輸入過的字母統計
printf("%c:%d\n",(char)(i+'a'),s[i]);
//(char)(i+'a')用強制類型轉換,輸出對應字母
}
㈣ C語言 編寫程序,從鍵盤輸入若干個英文字母,並統計各字母出現的次數
#include
#include
#define
max
100
int
main()
{
char
str[max];
//
輸入的字元串,最大長度是max-1,因為有一個字元串結束符
int
i
=
0,
count[52]
=
{
0
};
//
count
數組用來存儲各個字母出現的次數
scanf("%s",
str);
while(str[i]
!=
'\0')
{
if
(str[i]
>=
'a'
&&
str[i]
<=
'z')
{
//
統計小寫字母
count[str[i]
-
97
+
26]++;
}
if
(str[i]
>=
'a'
&&
str[i]
<=
'z')
{
//
統計大寫字母
count[str[i]
-
65]++;
}
i++;
}
for
(i
=
0;
i
<
26;
i++)
{
//
輸出大寫字母信息
if
(count[i]
!=
0)
printf("%c\t%d\n",
i
+
65,
count[i]);
//
只輸出不為零的數據
}
for
(i
=
26;
i
<
52;
i++)
{
//
輸出小寫字母信息
if
(count[i]
!=
0)
printf("%c\t%d\n",
i
+
97
-
26,
count[i]);
}
return
0;
}
㈤ 編寫一個C語言程序:從鍵盤讀入一行文本,統計每個英文字母出現的次數
對於每個英文字母分別判斷個數,並累計,最終輸出即可。
一、演算法:
1、循環讀取字元,直到換行為止。對於每個字元,執行以下流程。
2、判斷是否為英文字母,即小寫和大寫兩種。
3、如果是英文字母,則統計個數。
輸入部分,可以存為數組,也可以每輸入一個字元計算一次。
二、參考代碼:
#include<stdio.h>
intmain()
{
intc;
intcnt[52]={0};
while((c=getchar())!=' ')//讀取每個字元,直到遇到換行為止。
{
if(c>='A'&&c<='Z')//大寫
cnt[c-'A']++;//統計。
elseif(c>='a'&&c<='z')//小寫
cnt[c-'a'+26]++;//統計。
}
for(c=0;c<26;c++)//輸出大寫字母統計結果。
if(cnt[c]!=0)printf("%c:%d ",c+'A',cnt[c]);
for(c=26;c<52;c++)//輸出大寫字母統計結果。
if(cnt[c]!=0)printf("%c:%d ",c-26+'a',cnt[c]);
return0;
}
㈥ 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語言編程:輸入一串字母,統計每個字母出現的次數
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;
}
(7)c語言字母出現次數擴展閱讀:
程序思路:
分為三部分 首先輸入字元串 ,其次設定一個字元數組英文小寫字母24, 同時設一個int數組 記錄個數, 以及一個int c 為了給int數組賦值。最後在輸入的時候進行判斷,如果字母的值 大於等於1才輸出。
㈧ 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語言編程:輸入一串英文字母,統計每個字母(不區分大小寫)出現的次數
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[50];
int n=0;
char *p;
p=str;
cout<<"請輸入字元串:"<<endl;
cin>>str;
for(int i=0;*p!='