用C语言编写,统计各种字符个数
我们进行程序编写的时候,经常会遇到统计字符串中各个字符个数的需求。那么如何实现这种功能呢?下面我给大家分享一下。
工具/材料Visual Studio 2015
01首先打开Visual Studio软件,新建一个Win32应用程序,并且在项目下新建C语言文件,如下图所示
02然后我们在C语言文件中导入程序要用到的库文件,如下图所示
03接下来我们就开始实现字符统计的功能,主要是挨个读取字符串中的字符,然后判断字符的类别,如下图所示
04最后我们运行程序,输入一个字符以后,你就会发现程序已经自动统计好了各种字符的个数了,如下图所示
线性表可以直接用malloc申请连续空间,按数组保存。但这样不方便后期增删。
所以,建议使用链表来实现。
下面代码就是用链表实现线性表。
其中initList函数是生成了一个10节点的单向链表作为线性表。
ListLength就是题目要的函数。(函数中顺带打印了链表内容,你不想要显示链表内容,就删掉printf语句)。
#include<stdioh>#include<malloch>
struct Sqlist
{
int num;
struct Sqlist next;
};
struct Sqlist initList();//初始化一个线性链表
int ListLength(struct Sqlist MyList);
int main()
{
struct Sqlist mylist;
mylist=initList();
printf("\n线性表中元素个数为:%d\n",ListLength(mylist));
return 0;
}
int ListLength(struct Sqlist MyList)
{
int cnt=0;
struct Sqlist headList=&MyList;
printf("生成的线性表各元素值为:");
while(headList)
{
printf("%d ",headList->num);
cnt++;
headList=headList->next;
}
return cnt;
}
struct Sqlist initList()
{
int i;
struct Sqlist newList=NULL,firstList=NULL,lastList=NULL;
for(i=1;i<=10;i++)
{
newList=(struct Sqlist )malloc(sizeof(struct Sqlist));
if(!newList)
return NULL;
newList->num=i;
newList->next=NULL;
if(!firstList)
firstList=newList;
else
lastList->next=newList;
lastList=newList;
}
return firstList;
};
可以参考下面的代码:
#include <stdioh>
intmain()
{
inta,b,c,ch;
a=b=c=0;//计数器初始化为0
while((ch=getchar())!='\n')//循环读取字符,到换行结束。
{
if(ch>='0' && ch<='9')//数字
a++;
else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母
b++;
else//其它
c++;
}
printf("%d%d%d\n",a,b,c);//输出结果。
return0;
}
扩展资料:
printf()函数函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char format, );
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值,printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
while语句的一般表达式为:while(表达式){循环体}。
-printf()
-while (循环语句及英文单词)
用C语言编写,统计各种字符个数
本文2023-12-03 01:27:51发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/606207.html