当前位置:首页 » 编程语言 » 输入一串字符分别统计c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

输入一串字符分别统计c语言

发布时间: 2022-12-14 13:42:34

1. c语言编写:输入任意一串字符串,统计该字符串中出现的字符a的个数,并输出共统计的个数。

代码如下:

/*编程从键盘输入一个字符串,统计该字符串中从'a'到'z'共26个小写字母各自出现的次数,

将结果存入数组中,并输出*/

#include<stdio.h>

#include<string.h>

#define N 100

main()

{int i,j=0,c[26]={0};

char str[N];

printf("请输入一个字符串:");

gets(str);

for(i=0;i<strlen(str);i++)/*外循环扫描/遍历字符数组*/

for(j=0;j<26;j++)

if(str[i]=='a'+j)

{c[j]++;

break;

}

for(i=0;i<26;i++)

printf("%c-%d ",'a'+i,c[i]);/*输出字母a-z及其出现的次数*/

}

(1)输入一串字符分别统计c语言扩展阅读

字符串常量与字符数组的区别

1)字符串常量是一个字符数组,但是内容和长度在初始化时就已经固定了,不可更改;可以通过一个指向字符串常量第一个元素的指针来访问该字符串常量;

2)字符数组是一个用于存放字符的数组,字符数组的值是可以更改的。

常用字符串函数:

1、复制字符串

C 语言中使用库函数 strcpy 来进行字符串复制操作:

char *strcpy(char *dst , char const *src);

函数 strcpy 接收两个字符串参数,并将参数 src 字符串复制到 dst 参数。使用 strcpy 函数时需要注意的是,必须保证目标字符数组 dst 的长度足够存放源字符数组 src 的内容。

如果 src 比 dst 长,则 src 剩余部分的字符仍会被复制,而且它们会覆盖 dst 后面的内存空间的值,如果这除内存空间原本就存放有值,则会导致原本的数据丢失,这样会造成很严重的后果。为了解决这个问题, C 语言中提供了一种更为安全的方式来进行字符串复制操作——strncpy 函数:

char *strncpy(char *dst , char const *src , size_t len);

2、连接字符串

C 语言中使用库函数 strcat 来连接两个字符串:

char *strcat(char *dst,char const *src);

函数 strcat 将参数 src 字符串连接到参数 dst 字符串的后面。与 strcpy 函数一个同样的问题是,必须保证 dst 的剩余空间足够存放下 src 整个字符串。C 语言中提供了 strncat 函数来解决这个问题:

char *strncat(char *dst , char const *src , size_t len);

strncat 函数从 src 中最多复制 len 个字符到目标数组 dst 后面,并且,strncat 总是在结果字符串后面添加一个 NUL 字节,而且不会像 strncpy 函数那样对 dst 剩余的空间用 NUL 进行填充。

2. C语言编程题:从键盘输入一串字符,统计其中的数字与字母个数并输出

#include<stdio.h>

int main()

{

char a[100];

char b[24];

int s[100] = { 0 };//用于存储字符的个数

gets(a);//输入字符

//开始比较

for (int x = 0; x < 24; x++)

{

int c = 0;//记录每个字符个数

b[x] = x + 97;//为了让b[0]是a,b[1]是b依次类推

for (int i = 0; i < 100; i++)

{

if (b[x] == a[i])

{

++c;

s[x] = c;

}

}

if (s[x]>=1)//只输出输入中有的字母 的个数

{

printf("%c %d ", b[x], s[x]);

}

}

getchar();

return 0;

}

(2)输入一串字符分别统计c语言扩展阅读:

gets()用法:

gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,但回车符

不属于这个字符串。其调用格式为:

gets(s);

其中s为字符串变量(字符串数组名或字符串指针)。

gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s)

函数输入字符串时存在一个问题,就是如果输入了空格会认为输入字符串结束,

空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符

串直到回车为止。

示例:

#include&lt;stdio.h&gt;

int main()

{

char s[20];

printf("What's your name? ");

gets(s);

printf("%s ",s);

return 0;

}

当输入a bde回车的时候,会输出a bde。

3. c语言编程。从标准输入设备上输入一个字符串,分别统计其中每个数字,空格,字母及其他字符出现的次数。

代码如下:

#include <stdio.h>

int main(){

char stringss[1024];

int i,num[4]={0};

int j = 0;

char c;

while((c=getchar()) !=' '){

stringss[j] = c;

j++;

}

for(i=0;i<j;i++)//统计字符串,遇到''结束

{

if(stringss[i]>='0'&&stringss[i]<='9')//统计数字个数

num[0]++;

else if(stringss[i]==' ')//统计空格

num[1]++;

else if(stringss[i]>='A'&&stringss[i]<='Z'||stringss[i]>='a'&&stringss[i]<='z')//统计字符

num[2]++;

else

num[3]++;//其他

}

printf("出现的数字%d个,出现的空格%d个,出现的字母%d个,其他字符%d个 ",num[0],num[1],num[2],num[3]);

}

程序运行结果如下:

(3)输入一串字符分别统计c语言扩展阅读

C语言中对字符串的统计:可以通过循环数组的方式去一个一个的比较字符,然后进行统计。首先可以通过循环的方式读取每个数字,直到读到换行符“ ”,就结束读取,把读取的字符存到数组中,同时记录下字符的长度,然后进行循环统计,打印出现个数就完成了。

4. 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数.(C语言)

输入一行字符分别统计,出其中英文字母空格数字和其他字符的个数的源代码如下:

#include<stdio.h>

int main()

{

char c;

int letters=0,spaces=0,digits=0,others=0;

printf("请输入一些字母: ");

while((c=getchar())!=' ')

{

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

letters++;

else if(c>='0'&&c<='9')

digits++;

else if(c==' ')

spaces++;

else

others++;

}

printf("字母=%d,数字=%d,空格=%d,其他=%d ",letters,digits,spaces,others);

return 0;

}

(4)输入一串字符分别统计c语言扩展阅读

C语言程序统计一个文件的字符数的源代码如下

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int counter = 0; //计数器

int ch; //存储从文件中读入的字符

while( EOF != (ch = getchar()) ) //使用getchar函数从标准输入中读取字符,当读取到末尾时停止循环

{

counter++; //计数器自增

}

printf("%d", counter);

return 0;

}

5. C语言题目输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

错误代码:

if('a'<=nextchar<='z'||'A'<=nextchar<='Z')

else if('0'<=nextchar<='9')

修改后:

#include <stdio.h>

int main()

{

int letter=0,space=0,number=0,others=0;

char nextchar;

printf("Input your string ");

for(;nextchar!=' ';)

{

scanf("%c",&nextchar);

if('a'<=nextchar&&nextchar<='z'||'A'<=nextchar&&nextchar<='Z')

letter++;

else if(nextchar==' ')

space++;

else if('0'<=nextchar&&nextchar<='9')

number++;

else

others++;

}

printf("letter=%d,space=%d,number=%d,others=%d ",letter,space,number,others);

}

(5)输入一串字符分别统计c语言扩展阅读

c++输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include<cstdio>

int main()

{

char x[999];

int i,a=0,b=0,c=0,d=0;

gets(x);

for(i=0;i<=x[i];i++)

{

if('A'<=x[i]&&x[i]<='z')

a++;

else if('0'<=x[i]&&x[i]<='9')

b++;

else if(x[i]==' ')

c++;

else

d++;

}

printf("%d %d %d %d ",a,b,c,d);

return 0;

}

6. C语言编程:输入一串字母,统计每个字母出现的次数

C语言程序如下:

#include<stdio.h>

int main()

{

char a[100];

char b[24];

int s[100] = { 0 };//用于存储字符的个数

gets(a);//输入字符

//开始比较

for (int x = 0; x < 24; x++)

{

int c = 0;//记录每个字符个数

b[x] = x + 97;//为了让b[0]是a,b[1]是b依次类推

for (int i = 0; i < 100; i++)

{

if (b[x] == a[i])

{

++c;

s[x] = c;

}

}

if (s[x]>=1)//只输出输入中有的字母 的个数

{

printf("%c %d ", b[x], s[x]);

}

}

getchar();

return 0;

}

(6)输入一串字符分别统计c语言扩展阅读:

程序思路:
分为三部分 首先输入字符串 ,其次设定一个字符数组英文小写字母24, 同时设一个int数组 记录个数, 以及一个int c 为了给int数组赋值。最后在输入的时候进行判断,如果字母的值 大于等于1才输出。

7. c语言,从键盘输入一串字符串,统计字符串中特定字符的个数,并输出个数

程序设计思路如下:

从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较,如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数。

#include"stdio.h"

main()
{charstr[100],ch;/*定义str字符串,定义ch用来存放要统计的字符*/
intcnt=0,i;/*定义cnt用作计数器,初始值为0*/

/*输入字符串*/
printf("请输入字符串:");
gets(str);

/*输入要统计的字符*/
printf("请输入要统计的字符:");
scanf("%c",&ch);

/*对此字符串从头开始逐个与所统计的字符比较,如相同,则让计数器加1,知道字符串整体比较结束为止*/
for(i=0;str[i];i++)
if(str[i]==ch)
cnt++;

/*输出结果*/
printf("%s串中%c字符的个数是:%d个",str,ch,cnt);
}