当前位置:首页 » 编程语言 » 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;
}