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

c語言71字元統計

發布時間: 2022-11-03 09:49:56

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())!='\n')
{
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\n空格的個數:>%d\
\n數字的個數:>%d\n其他字元的個數:>%d\n",\
letters,space,digit,other);
system("pause");
return 0;
}

㈡ c語言如何統計字元個數

在C語言中,要統計一個字元串的字元個數,可以採用char類型的字元數組,再進行逐個位元組的掃描,如果它的ASCII值大於零,這個位元組算一個字元;如果它的ASCII值小於零的,就連同後續的一個位元組算一個字元。遇到ASCII值等於零,就停止統計輸出統計的結果。

㈢ c語言中統計字元串中各個字元的個數

//計算字元串中相同字元的個數
#include "stdio.h"
#include "string.h"

int count_str_same(char * p,char ch);
int main()
{
int same_ch;
char a[100];
char c;
printf("請輸入字元串:");
gets(a);
printf("請輸入欲統計的重復字元:");
c = getchar();
same_ch = count_str_same(a,c);
printf("該字元串中字元%c重復%d次\n",c,same_ch);
return 0;
}
int count_str_same(char * p,char ch)
{
char * q = p;
int m = 0;
while(* q != '\0')
{
if(ch == * q)
m++;
q++;
}
return m;
}

㈣ C語言中怎麼統計字元個數

可以通過switch語句,把字母列出來,然後每個字母設置一個變數,遍歷數組,對不同字母的變數每次遇到加加就行了

㈤ C語言對一個字元串進行字元統計,分別統計包括空格和不包括空格的字元數

char
*ch,就是定義一個字元型的指針,來接收指針,在你的程序里就是接收你輸入的字元串的首地址。要想返回實參,根據你的目的,應該是各類字元的個數,可以用一個數組實現。
int*
sum(char
*ch,int
sum[4]);用一個長度為4的一維數組來統計各類字元的個數;
同樣int*
表示返回一個整形指針;
你應該這樣調用sum()函數;p=sum(ch,sum);(當然你之前要,在main()里定義一個整形指針接受sum()的返回值),把sum[4]={0}初始化全部為0,),用p[0],p[1],p[2],p[3]表示
字母,數字,空格和其他字元的個數。
不明白的再問我

㈥ c語言統計字元串中每個字元出現的次數

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int findsub(char*src,char*s)

{

char*ptr=src,*p=s;//定義兩個指針

char*ptr2=src+strlen(src),*prev=NULL;//ptr2為src的末位置指針

int len=strlen(s),n=0;//子串的長度和計數器

for(;*ptr;ptr++)//循環整個串

{

if(ptr2-ptr&lt;len)//如果一開始子串就大於src,則退出

break;

for(prev=ptr;*prev==*p;prev++,p++)//尋找第一個相等的位置,然後從此位置開始匹配子串

{

if(*(p+1)==0||*(p+1)==10)//如果已經到了子串的末尾

{

n++;//自增

p=s;//重新指向子串

break;//退出

}

}

}

return n;

}

int main(void)

{

char a[81],b[81];//定義兩個字元數組

printf("輸入原字元串:");

fgets(a,81,stdin);//輸入

printf("輸入子字元串:");

fgets(b,81,stdin);

printf("找到:%d ",findsub(a,b));

system("pause");

return 0;

}

(6)c語言71字元統計擴展閱讀:

①printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。

格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。

要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。

簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。

②printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。

printf()函數的調用格式為:printf("&lt;格式化字元串&gt;",&lt;參量表&gt;)。

其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。

㈦ 編寫C語言程序統計輸入字元串的個數、

很簡單了,代碼如下:
#include
void
main()
{
char
a[100];
int
i,count=0,flag=1,n=0;
gets(a);//從鍵盤輸入字元串
for(i=0;a[i];i++)
{
if((a[i]>='a'
&&
a[i]<='z')
||
(a[i]>='a'
&&
a[i]<='z'))//判斷是不是字元
{
flag=0;//設置字元標志
continue;//返回下一個循環
}
if(!flag)//前面一位是字元,即當前是某個單詞字元結束
{
count++;//統計單詞個數
flag=1;//設置非字元標志
}
}
i--;
if((a[i]>='a'
&&
a[i]<='z')
||
(a[i]>='a'
&&
a[i]<='z'))
count++;//增加字元串結束的單詞
printf("共有%d單詞\n",count);
}

㈧ 用c語言編程,字元統計:輸入一個文本文件,分別統計出其中英文字母、空格、數字和其它字元的個數

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

}

運行效果:

(8)c語言71字元統計擴展閱讀

printf函數使用注意事項

1、域寬

%d:按整型數據的實際長度輸出。

如果想輸出指定寬度可以指定域寬,%md--&gt;m域寬,列印出來以後,在控制台上,顯示m位;

如果我們要列印的數的位數如果超過我們設定m則原樣輸出;

如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:

如果m為正數,則左對齊(左側補空白);

如果m為負數,則右對齊(右側補空白)。

2、轉義字元

如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。

如:printf("%f%%",1.0/3);輸出結果:0.333333%。

㈨ 字元統計【C語言】

1 思路是構建一個數組來統計每個字元出現的個數

2 代碼如下

#include<stdio.h>
#include<ctype.h>
#include<string.h>

char*statistic(char*str){

constintN=1+10+26*2;

//1構造一個參照表(依次為空格,數字,大寫,小寫)
charrefer_table[N];
for(inti=0;i<N;i++){
if(i>=1+10+26)
refer_table[i]='a'+i-(1+10+26);
elseif(i>=1+10)
refer_table[i]='A'+i-(1+10);
elseif(i>=1)
refer_table[i]='0'+i-1;
else
refer_table[i]='';
}
//2依次統計空格,數字,大寫,小寫出現的次數
intch_arr[N]={0};
while(*str!=''){
charch=*str;
if(ch=='')
ch_arr[0]++;
if(isdigit(ch))
ch_arr[1+(ch-'0')]++;
if(isalpha(ch)&&isupper(ch))
ch_arr[1+10+(ch-'A')]++;
if(isalpha(ch)&&islower(ch))
ch_arr[1+10+26+(ch-'a')]++;
;
str++;
}
//3按出現次數排序
charresult[N];
intcount=0;
for(inti=0;i<N;i++){
intmax=ch_arr[0];
intindex=0;
for(intj=0;j<N;j++){
if(ch_arr[j]>max){
max=ch_arr[j];
index=j;
}
}
if(max==0)
break;
result[count++]=refer_table[index];
ch_arr[index]=0;
}
result[count]='';
returnresult;
}

intmain(){
charstr[256];
while(true){
printf("input:");
if(strlen(gets(str))==0)
break;
else
printf("output:");
puts(statistic(str));
}
return0;
}

3 運行效果

㈩ C語言字元統計

#include<stdio.h>
intmain()
{inti,a,n=0;
charc,s[101];
scanf("%c%d%*c",&c,&a);
gets(s);
if(a==0&&c>='a'&&c<='z')c-=32;
for(i=0;s[i];i++)
if(c==(a==0&&s[i]>='a'&&s[i]<='z'?s[i]-32:s[i]))n++;
printf("%d ",n);
return0;
}