#include "stdio.h"
void main()
{
printf("输入一行字符:");
char str;
int i,a=0,b=0,c=0,d=0;
gets(str);
while(str!='\n')
{
if((str>='A'&&str<='Z')||(str>='a'&&str<='z'))
a++;
else if(str==' ')
b++;
else if(str>='0'&&str<='9')
c++;
else d++;
}
printf("字母有%d个,空格有%d个,数字有%d个,其他字符有%d个",a,b,c,d);
}
写成这样各种报错,实在找不出来了,求高手指点
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
printf("输入一行字符:");
char str[100]; //这个地方要改成str[100]这种字符数组,gets函数是将从控制台输入的字符串存到字符数组中的
int i,a=0,b=0,c=0,d=0;
gets(str);
//控制判断的结束的话,是对于某一个字符来判断的,当然也可以用
int length=strlen(str);
for(int i=0;i<length;i++)
//i=0;
//while(str[i]!='\n')
{
if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
a++;
else if(str[i]==' ')
b++;
else if(str[i]>='0'&&str[i]<='9')
c++;
else d++;
i++;
}
//另外,判断字符类型有isalpah,isdigit等函数可以直接调用,不过要添加#include<ctype.h>这个头文件
printf("字母有%d个,空格有%d个,数字有%d个,其他字符有%d个",a,b,c,d);
getch();//从键盘敲入任意键,不回显在黑框内
return 0;
}
很好很详细,麻烦再帮忙看下3楼追问有什么不妥,谢谢
追答这个可能跟你的编译器有关系,你可以试试把全部的变量声明放在main函数最开始的地方,然后再写printf("输入一行字符:");
追问我去,还真是,那就是说程序这样是没问题的?只是编译器的原因?变量声明是不是一般都得在最前面?
追答不是的,我的编译器放在哪儿都行。只要在使用该变量之前声明就可以了,同时还要保证不重复声明同一变量。
C语言经典例子之统计英文、字母、空格及数字个数
你换个编译器用吧·····用vs2008 或者vc 6.0
本回答被网友采纳必须有
C语言输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个...
else if('\\n'!=c) others++;过滤掉最后一个回车符
关于C的问题~!!?
利用while循环,条件为输入的字符不为'\\n'include "stdio.h"main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\\n");while((c=getchar())!='\\n'){ if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c==' ')space++;else ...
用C#输入一行字符,分别统计出其中的字母,空格,数字及其他字符的个数怎么...
static void Main(string[] args){ string str = "";int ch = 0;\/\/用来统计字母的数量 int sp = 0;\/\/用来统计空格的数量 int math = 0; \/\/用来统计数字的数量 int other=0;\/\/用来统计其它字符的数量 Console.Write("请输入一段字符:");str=Console.ReadLine();char[] c = str.ToCha...
输入一行字符,分别统计其中的英文大写字母,小写字母,数字字符和其他字符...
printf("小写字母个数:%d\\n",x);printf("大写字母个数:%d\\n",d);printf("数字个数:%d\\n",s);printf("其他字符个数:%d\\n",q);}
编写一个程序,输入一行字符,以回车结束,分别统计出其中的英文字母、空...
printf("i请输入10个字符:\\n");while((c=getchar())!='\\n')\/*读取当前字符,如不为回车符则进行统计*\/ { if(c>='a'&&c<='z'||c>='a'&&c<='z')letter++;else if(c=='')space++;else if(c>='0'&&c<='9')digit++;else other++;} printf("letter=%d,space=%d,digit=...
C语言编程题,小白不会编程序
max, ch[i]) < 0) strcpy(max, ch[i]); printf("the max string is : %s", max); return 0;}#include<stdio.h>#include<string.h>#include<ctype.h>\/\/有一篇文章,共有三行字符,每行80个字符,分别统计其中英文大写字母,...
C语言小白求问。如何读取字符串文件,并根据不同长度的单词统计总共出现...
思路:可先用fopen打开文件流,之后用fgets把全文读出到字符串变量。之后两个选择:1、直接变量字符串,遇字母作为一个单词开始,遇非字母作为一个字母结束,这样把所有单词,拆出来放到字符串数组中。(大小写转换可同时进行)。2、变量字符串将所有标点符号全部替换成空格,再用fprintf写入覆盖原文件,再...
c语言中如何输入输出字符串
1 用scanf\/printf输入输出。scanf\/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也 其支持范围内。格式化字符为%s。定义 char str[100];输入 scanf("%s",str);输出 printf("%s",str);2 C语言还支持专门的字符串输入输出函数:gets\/puts。gets的作用为,读入一行...
c语言小白,请问为什么我的这段代码输出结果不正确?应该怎么改呢?求具...
1、这一块统计数量的代码其实老实说我都没看懂是什么意思,但是我测试了,输入13能统计出来是2,但是输入12345的时候统计就错了,这段并不能数出3来。2、第17行有问题,你每次循环都把max赋值为Num[0],按照你的代码来,输入13时,Num[0]的值为0,所以max初始值总是0,而且Num[9]也是0,所以...
python有多少字符串(2023年最新分享)
python字符串各类型字符统计 一般就是统计下大写字母小写字母数字和其他字符,用一个for遍历和分支判断计数。 n=input() xx,dx,sz,qt=0,0,0,0 foriinn: 缩进if'a'=i='z':xx+=1 缩进elif'A'=i='Z':dx+=1 缩进elif'0'=i='9':sz+=1 缩进else:qt+=1 print(xx,dx,sz,qt)万字干货,Python语...