c语言统计字符串的个数
1. c语言,怎样算字符串的个数(不重复)
这是统计字符串的不同字符的个数啊。
#include<stdio.h>
int main()
{char s[200];
int i,a[96]={0},n;
gets(s);
for(i=0;s[i];i++)
a[s[i]-32]=1;
for(n=i=0;i<96;i++)
n+=a[i];
printf("%d ",n);
return 0;
}
2. c语言怎么计算字符串的字符个数
一般有三种办法可以计算英文字符的个数:
1)使用strlen()函数
2)从首字符开始,边扫描边计数,到'\0'为止('\0'不计数)
3)从首字符开始,扫描到'\0'为止,'\0'地址与字符串首地址的差。
3. 用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数
源程序代码如下:
#include "pch.h"
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include<stdio.h>
int main()
{
char c = 0;//定义输入字符变量
int num_count = 0;//数字个数
int bigalp_count = 0;//大写字母个数
int littlealp_count = 0;//小写字母个数
int emp_count = 0;//空格个数
int els_count = 0;//其他字符个数
while((c = getchar()) != '
')//连续输入字符直到输入回车结束
{
if((c >= '0')&&(c <= '9'))//判断是否是数字
{
num_count ++ ;
}
else if ((c >= 'a') && (c <= 'z'))//判断是否是小写字母
{
littlealp_count++;
}
else if ((c >= 'A') && (c <= 'Z'))//判断是否是大写字母
{
bigalp_count++;
}
else if(c == ' ')//判断是否是空格
{
emp_count ++;
}
else //判断是否其他字符
{
els_count ++;
}
}
//输出个数统计值
printf("数字个数:%d
小写字母个数:%d
大写字母个数:%d
",num_count, littlealp_count, bigalp_count);
printf("空格个数:%d
其他字符个数:%d
", emp_count, els_count);
return 0;
}
程序运行结果如下:
(3)c语言统计字符串的个数扩展阅读:
其他实现方法:
#include <stdio.h>
#include <ctype.h> //对空白字符的判断,调用了isspace()函数,所以要调用头文件
int main()
{
char str[20]; //这块对输入有所限制了
int num_count=0;
int space_count=0;
int other_count=0;
char *p=str;
gets(str); //接收字符串
while(*p)
{
{
num_count++;
}
else if(isspace(*p)) //用isspace函数来判断是不是空白字符
{
space_count++;
}
else
{
other_count++;
}
p++;
}
printf("num_count=%d
",num_count);
printf("space_count=%d
",space_count);
printf("other_count=%d
",other_count);
return 0;
4. 编写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);
}
5. c语言如何统计字符个数
在C语言中,要统计一个字符串的字符个数,可以采用char类型的字符数组,再进行逐个字节的扫描,如果它的ASCII值大于零,这个字节算一个字符;如果它的ASCII值小于零的,就连同后续的一个字节算一个字符。遇到ASCII值等于零,就停止统计输出统计的结果。
6. c语言怎么统计字符串中字符个数
使用系统标准库函数strlen(s)就可以测得字符数组s中的字符串的字符个数,也就是字符串的长度,需要包含string.h头文件。
7. C语言统计一句话中字符串的个数
这个程序写起来有些费事儿,
这个题目还是很不错的,建议你还是自己写,
对于自己的提高还有很有帮助的。
实现方法:
数据结构选择:
二维链表(要是没学过,用二维数组也行,但是推荐使用二维链表,这样效率高且buffer消耗最小)
实现方法:
(统计字符串出现次数比较简单,就不写了)
1.
字符串检测
以空格为基准,判断是否一个字符串结束,直到"$$$"认为遍历结束
2.
字符串统计
二维链表法:
读到空格后第一个字符时,对于二维链表的所有头结点进行遍历,
一旦发现有相同的,再判断当前读到的字符串的下一个字符与该头结点的后续是否相同,
・如果相同,则继续判断下一个后续
・如果不同,则继续判断下一个头结点
如果在所有头结点遍历完毕后,如果都没有找到相同的,则将该字符串录入二维链表
二维数组法(需要一开始就初始化数组):
读到空格后第一个字符时,对于二维数组的第一列的所有成员进行遍历(列遍历),
一旦发现有相同的,再判断当前读到的字符串的下一个字符与该成员所在行的后续成员是否相同,
・如果相同,则继续判断下一个成员
・如果不同,则继续判断下一列的0号成员
如果在第一列遍历完毕后,如果都没有找到相同的,则将该字符串写入当前最后录入完毕字符串的后一行
这题不错,强烈建议自己做,
我的方法也不一定就好,希望你能多多思考:)
8. c语言怎么编写统计一个字符串中各个字符的个数
void getNum(char *str)
{int i,a[26]={0},A[26]={0};
for(;*str;str++)
if(*str>='A'&&*str<='Z')A[*str-'A']++;
else if(*str>='a'&&*str<='z')a[*str-'a']++;
for(i=0;i<26;i++)
if(A[i])printf("%c:%d ",'A'+i,A[i]);
for(i=0;i<26;i++)
if(a[i])printf("%c:%d ",'a'+i,a[i]);
}
void main()
{
int num;
char *testStr = "How are you? Fine Thank you!";
getNum(testStr);
getch();
}
9. 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;
}
(9)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的内容。
10. C语言统计一个字符串的字符个数,for (; getchar() != '\n'; n++);这句,能帮忙解释一下getchar()!=0吗
getchar是从你的输入内容里读取一个字符值,它的返回值是你输入的那个字符的ascii码,
for (; getchar() != '\n'; n++); 意思就是说当读到换行符时就结束循环,相当于
while(getchar()!='\n') n++;
也就是相当于读入一个字符,n就自加1,最终实现的效果就是对你输入内容的计数了。