c语言字符统计
‘壹’ 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;
}
‘贰’ c语言:字符分类统计
#include <stdio.h>
#include <string.h>
void main()
{
char c[100];
int i,n,ch=0,blank=0,number=0,other=0;
printf("Input something:\n");
gets(c);
n=strlen(c);
for(i=0;i<n;i++)
{
if((c[i]>='a' && c[i]<='z')||(c[i]>='A' && c[i]<='Z'))ch++;
else if(c[i]==' ') blank++;
else if(c[i]>='0' && c[i]<='9') number++;
else other++;
}
printf("ch:%d,blank:%d,number:%d,other:%d\n",ch,blank,number,other);
}
输出的是字母,空格,数字及其他,刚调通的,请参考.
‘叁’ C语言中统计字符出现的次数
是有些错误,我帮你改了下 ,你自己看看:
# include "stdio.h"
# include "string.h"
main()
{
char a[100],b[100];
int i,n1,n2,k,num,flag;
printf("输入原文:\n");
scanf("%s",a);
fflush(stdin); /* flush the input stream in case of bad input */
printf("输入字符串:\n");
scanf("%s",b);
fflush(stdin); /* flush the input stream in case of bad input */
n1=strlen(a);
n2=strlen(b);
num=0;
for(i=0;i<n1-n2;i++)
{
for(k=i;k<n2+i;k++)
{
flag=1;
if(a[k]!=b[k-i])
{
flag=0;
break;
}
if((k-i)==(n2-1))
{
num++;
i+=n2;
}
}
}
printf("总共出现%d\n",num);
system("pause");
}
首先,最好是在scanf("%s",a);后面加上这句 fflush(stdin);
/* flush the input stream in case of bad input */
其次,你的思路有问题,在第二个for循环里面
第二个if的条件应该改成(k-i)==(n2-1),即检查到了字符数组b的结尾了,说明前面的都匹配,那么才加1,呵呵呵,自己好好想想吧
‘肆’ c语言统计字符个数
#include<stdlib.h>
#include<stdio.h>
intmain(void)
{
charinput;
intdaxie=0,xiaoxie=0,kongge=0,number=0,others=0,count=0;
while((input=getchar())!=' ')
{
if(input>='a'&&input<='z')
xiaoxie++;
elseif(input>='A'&&input<='Z')
daxie++;
elseif(input=='')
kongge++;
elseif(input>='0'&&input<='9')
number++;
else
others++;
count++;
}
printf("大写字母个数为%d,小写字母个数为%d,空格字符个数为%d,数字个数为%d,其他字符个数为%d,总的字符个数为%d ",daxie,xiaoxie,kongge,number,others,count);
system("pause");
return0;
}
‘伍’ C语言编程:统计字符串中各字母出现的次数
#include<stdio.h>
#include<stdlib.h>
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++)//循环整个串
n++;//自增
p=s;//重新指向子串
break;//退出
char a[81],b[81];//定义两个字符数组
fgets(b,81,stdin);
printf("找到:%d ",findsub(a,b));
system("pause");
return 0;
}
数据类型:
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
以上内容参考:网络-字符串
‘陆’ C语言:字符串统计
int count[36]={0};
int i = 0;
char ch = 0;
char str[200] = {0};
printf("input string:")
scanf("%s",str);
for (i=0;i<strlen(str);i++)
{
ch=str[i];
if ((ch<'A')||(ch>'Z')) continue;
count[ch-'A'] ++;
}
显示:
for(i=0;i<36;i++)
{
if (count[i]==0) continue;
printf("%c:%d ",i+'A', count[i]);
}
截图上传不上去,代码也不能格式化。
‘柒’ c语言统计字符串中每个字符出现的次数
#include<stdio.h>
int main()
{ int i,a[128]={0};
char ch;
while((ch=getchar())!=' ')a[ch]++;
for(i=32;i<128;i++)
if(a[i])
printf("%c: %d ",i,a[i]);
return 0;
}
‘捌’ C语言 统计中文字符数
#include<stdio.h>
void
coun(char
s[])
{
int
i,m=0,n=0,p=0,d=0;
for(i=0;s[i]!='\0';i++)
{if(s[i]=='
')
p++;
else
if((s[i]>='0')&&(s[i]<='9'))
m++;
else
if((s[i]>='A')&&(s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
n++;
else
d++;
}
printf("输入的字符串是:%s\n数字的个数:%d\n字母的个数:%d\n空格的个数:%d\n其它字符个数:%d\n",s,m,n,p,d);
}
int
main()
{
char
a[100];
gets(a);
coun(a);
system("pause");
return
0;
}