Ⅰ 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);
}
Ⅱ c语言怎么计算字符串的字符个数
一般有三种办法可以计算英文字符的个数:
1)使用strlen()函数
2)从首字符开始,边扫描边计数,到'\0'为止('\0'不计数)
3)从首字符开始,扫描到'\0'为止,'\0'地址与字符串首地址的差。
Ⅲ 用c语言求一个字符串中某个字符的个数
#include<stdio.h>
#include<string.h>
intmain()
{
chara[100],ch;
inti,count=0;
printf("输入一个字符串(小于100个字符 ");
gets(a);
printf("输入查询字符: ");
ch=getchar();
for(i=0;i<strlen(a);i++)
{
if(a[i]==ch)
{
count++;
}
}
printf("该字符的个数是%d ",count);
return0;
}
Ⅳ C语言 输入一串字符,计算当中0~9数字的个数
#include <stdio.h>
main()
{
char x;
int a[10]={0},i;
while((x=getchar())!='\n')
if(x>='0'&& x<='9')
a[x-'0']+=1;
for(i=0;i<10;i++)
printf("%d的个数是%d \n", i,a[i]);
return 0;
}
你错在了for循环里面 错把i打成了1 这种错误很难发现。 主要要你编程的时候细心
Ⅳ 在C语言中 先输入一串字符串再计算所有字符的个数
想统计所有字符个数,可以调用库函数strlen(a),头文件是<string.h>
想程序实现,while循环有错,改成
for(i=0;a[i];i++)//a[i]!=NULL
{
if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')
j++;
else
if(a[i]>='0'&&a[i]<='9')
j++;
else
if(a[i]=='
')
j++;
else
j++;
}
Ⅵ C语言编程 计算一串字符中的数字个数
#include<stdio.h>
#include<string.h>
intmain()
{
charszText[1006]={0};
intcount=0;
intnFlag=0;
gets(szText);
for(inti=0;i<strlen(szText);i++)
{
if(szText[i]<='9'&&szText[i]>='1')
{
if(nFlag==0)
{
count++;
nFlag=1;
}
}
else
{
nFlag=0;
}
}
printf("%d ",count);
return0;
}
稍微修改了一下,楼主可以参考
Ⅶ C语言 输入一串字符串,计算字母,数字,特殊符号的个数
#include<stdio.h>
void main()
{ int nE=0,nS=0,nN=0,nO=0,i=0;
char a[1000];
scanf("%s",a);
while (a[i]!='\0') {
if (a[i]<='z' && a[i]>='a' || a[i]<='Z' && a[i]>='A')
nE++;
else
{if (a[i]<='9' && a[i]>='0')
nN++;
else
{if (a[i]==' ')
nS++;
else
nO++;
}
}
i++;
}
printf("%d\n%d\n%d\n%d",nE,nS,nN,nO);
}
Ⅷ 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();
}
Ⅸ 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的内容。
Ⅹ 在C语言中,怎么编一个程序使得输入一串字符,得出他的个数
因为char
*str你没有给它分配存储字符串的空间。
可以用malloc动态的申请:
char
*str
=
(char*)
malloc(sizeof(char)
*100);
然后再
scanf("%s",
str);就可以了
而char
str[100]这里是申请了包含100个字符的内存空间。