C++ 统计一串字符各种字符的数

头文件
#include
#include
#include
#include
#include
void count(char a[]);
using namespace std;

void count(char a[])
{
int D_num=0,X_num=0,num=0,spen=0,other=0;

int i;
for(i=0;i<=(strlen(a)-1);i++)
{
    if(a[i]>='a' && a[i]<='z')
        X_num++;
    else if(a[i]>='A' && a[i]<='Z')
        D_num++;
    else if(a[i]>='0' && a[i]<='9')
        num++;
    else if(a[i]==' ')
        spen++;
    else
        other++;
}
cout<<"小写字符为:"<<X_num;
cout<<"大写字母为:"<<D_num;
cout<<"数字为:"<<num;
cout<<"空格为:"<<spen;
cout<<"其他为:"<<other<<endl;

}

.CPP
#include "stdafx.h"

void main()
{
int i;
char a[1000];

cout<<"请输入一串文字:"<<endl;

for(i=0;a[i]=getchar()!='\n';i++){}

cout<<"核查如下:"<<endl;

count(a);
_getch();

}
为什么运行结果 只有把其他统计 数字什么的不统计 哪里有问题

c++

4个回答

主函数里for写成这样试试:
for(i=0;(a[i]=getchar()) != '\n';i++)

xiahuanjun789
xiahuanjun789 好的 我试试
4 年多之前 回复
xiahuanjun789
xiahuanjun789 好的 我试试
4 年多之前 回复

for(i=0;(a[i]=getchar()) != '\n';i++)
这是正解。表达式结合性错误,按照lz的写法,a[i]得到的是getchar()) != '\n'这个判断的结果而不是getchar

xiahuanjun789
xiahuanjun789 明白了
4 年多之前 回复
while(getchar()!='\n')
a[i++]=getchar();
xiahuanjun789
xiahuanjun789 谢谢
4 年多之前 回复
 // ConsoleApplication1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <iostream>
#include <string>

using namespace std;

void count(char a[])
{
    int D_num = 0, X_num = 0, num = 0, spen = 0, other = 0;

    int i;
    for (i = 0; i <= (strlen(a) - 1); i++)
    {
        if (a[i] >= 'a' && a[i] <= 'z')
            X_num++;
        else if (a[i] >= 'A' && a[i] <= 'Z')
            D_num++;
        else if (a[i] >= '0' && a[i] <= '9')
            num++;
        else if (a[i] == ' ')
            spen++;
        else
            other++;
    }
    cout << "lowcase" << X_num;
    cout << "upcase" << D_num;
    cout << "num" << num;
    cout << "space" << spen;
    cout << "other" << other << endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    char * a = new char[1000];
    memset(a, 0, 1000);

    cout << "please enter:" << endl;

    cin >> a;

    cout << "result as below" << endl;

    count(a);

    return 0;
}


xiahuanjun789
xiahuanjun789 指针 数组.....
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++ 统计一串字符各种字符的数
头文件n#include n#include n#include n#include n#include nvoid count(char a[]);nusing namespace std;nnvoid count(char a[])nn int D_num=0,X_num=0,num=0,spen=0,other=0;nn int i;n for(i=0;i<=(strlen(a)-1);i++)n n if(a[i]>='a' && a[i]<='z')n X_num++;n else if(a[i]>='A' && a[i]<='Z')n D_num++;n else if(a[i]>='0' && a[i]<='9')n num++;n else if(a[i]==' ')n spen++;n elsen other++;n n cout<<"小写字符为:"<
C语言——统计字符数
Description   判断一个由a~z这26个字符组成的字符串中哪个字符出现的次数最多。 Input   第一行是测试数据的组数n,每组测试数据占1行,是一个由a~z这26个字符组成的字符串,每组测试数据之间有一个空行,每行数据不超过1000个字符且非空。 Output    n行,每行输出对应一个输入,包括出现次数最多的字符和该字符出现的次数,中间是一个空格。如果有多个字符出现的...
【C语言】统计字符数
#include <stdio.h> #include <stdlib.h> //统计字符串字符个数int upcount=0,lowcount=0,spacecount=0,numcount=0,othercount=0; void char_total(char *str){ int i=0; while(*(str+i) != '\0'){ if(*(str+i
统计分类字符数
在py里面有curses.ascii.isalpha(c) Checks for an ASCII alphabetic character; it is equivalent to isupper(c) or islower(c).
统计字符数
Description 判断一个由a-z和A-Z字符组成的字符串中哪个字符出现的次数最多 Input 第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z和A-Z字符组成的字符串,每组测试数据之间有一个空行,每行数据不超过1000个字符且非空 Output n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字 符出现的次数,中间是一个
Excel的统计字符数
需求: Excel的统计字符数 实现: Excel中,开发工具-插入-模块-复制粘贴以下代码: Sub 总字符数() Arr = Range([A2], [A65536].End(xlUp)) Set d = CreateObject("Scripting.Dictionary") For Each a In Arr b = Split(a, ",") For
1187:统计字符数
【题目描述】 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。 【输入】 输入包含一行,一个字符串,长度不超过1000。 【输出】 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。 【输入样例】 abbccc 【输出样例】 c 3 #include&amp;...
Java统计字符数
Java统计字符数的代码,要求输入一行字符串,就能显示出字母数、数字的个数。
统计文件字符数
#includern#includernint main()rnrn int i=0;rn char ch,filename[256];rn FILE *in,*out;rn if((in=fopen("123.txt","r"))==NULL) \\输入文件名 复制123.TXT rn rn printf("cannot open the file");rn exit(0);rn rn printf("Enter the name of copy\n"); \\输入文件名 复制123.TXT rn scanf("%s",filename);rn if((out=fopen(filename,"w"))==NULL)rn rn printf("cannot open the file");rn exit(0);rn rn while(!feof(in))rn rn fputc(fgetc(in),out);rn rn fclose(out);rn if((out=fopen(filename,"w"))==NULL)rn rn printf("cannot open the file");rn exit(0);rn rn ch=fgetc(out);rn while(ch!=EOF)rn rn i+=1;rn rn printf("%d\n",i);rn fclose(in);rn fclose(out);rn rn return 0;rnrnrn输入文件名 复制123.TXT 输入文件名 复制123.TXT 然后想统计TXT中字符个数 为何不能实现?
字符串字符数统计
#include using namespace std; #include //#include int main() { cout << "input some text:"; string str; getline(cin, str); int cnt[256]={}; for (int i=0; i<str.size(); i++) { cnt[(int)str
如何统计字符数!!!
如下,rnselect name,Descr,DescrLengthrnfrom Newsrnrn其中name的类型为varchar(100)rn Descr的类型为TextrnrnDescrLength为Descr中文本的实际长度,请问求这个长度如何实现!!!谢谢
字符数统计
实现指定文件字符数统计,帮助学习java数据流操作,是一个很有用的文件
字符串处理-统计字符数
问题描述: 判断一个字符串中a~z哪个字母出现的次数最多; 样例: 输入: 2 abbccc adfadffasdf 输出: c 3 f 4代码展示:#include <iostream> #include <string.h> using namespace s
统计字符串的“字符”数
在bcb中用什么函数能统计一个字符串的“字符”数而不是“字节”数?
面试: 统计字符数
Write a Java program to calculate the words and characters found in this XHTML document.rn(假设已经存在home.html文件了)rnrnJava 程序员测试要求中文补充说明:rn1. 附带的 home.html 文件是一个 XHTML 文件,如果你了解 XML 文件是什么,你应该知道这是什么文件格式。统计字数时不计 XHTML 文件中的 tag(代码)。rn2. 文件内的文字中英文混合,字数统计应该考虑字符集的影响。rn3. 要求中提到分别计算 word(单词)数和 character(字符)数提供两个统计值。由于本文件是中英混合文件,中文本身没有所谓单词的概念,在本测试中,我们要求将每个中文字各视作一个单词,标点符号不计为单词,每个英文单词视为一个单词,每个数字视作一个单词。例如“Heartsome Release 7 版本即将推出,支持GMX-V!”视为 12 个 word。rn4. 字符数统计时每个空格也视为一个字符。rn5. 注释中的字数不计(例如 )rnrn本编程测试可以直接使用记事本类的文本编辑程序写程序代码。同时您的测试机器上已经安装了 Windows 或 Linux 版的 Eclipse Java 编程环境,如果需要使用,请向安排测试的人员咨询。rnrn提示:测试中如果有需要可以上网查资料。rnrn
C++去除字符串中的空格
#include #include using namespace std; int main() { char TstArr[] = "12 34 56 kskks ututi ss 1129 288"; cout TstArr char *pCur = TstArr; char *pBlank = pCur;
009统计字符数
区块链第一语言,Web新贵;rn兼具Python的简洁与C++的强大;rn用超多好玩的小例子,带你打开通向世界2.0的大门;rn风格依旧水煮,依旧不拘一格脑洞大开;
C 语言统计各种字符源代码+流程图
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 内有编译好的程序,和流程图
C语言之统计各种字符
在我们的程序设计中,很多时候都需要输入字符去判断所输入的字符是否正确,所以统计各种字符显得尤为重要。系统输入一行字符,分别统计出其中的大写英文字母、小写英文字母,数字和其他字符的个数,以回车作为结束标志。代码:#include <stdio.h>int main() { char c; int capital=0, lowercase=0, digit=0, other=0; /
输入一行字符,统计其中各种字符个数(C语言)
输出字符串中英文字母,数字,空格以及其他字符的个数
一串字符去掉c和d
#include&amp;lt;stdio.h&amp;gt; void f(char b[100]); int main() {  char a[100];//若想使用a[],必须为a[]='abcdef'  gets(a);  f(a);  puts(a);  return 0; } void f(char b[100]) {  int i,j=0;  for(i=0;b[i]!='\0';i++)  if...
统计一段字符中的各种和
#include&lt;stdio.h&gt; int main() { char c; int i=0,k=0,h=0,g=0; printf(“请输入字符:”); while((c=getchar())!=’\n’) {if(c&gt;=‘a’&amp;&amp;c&lt;=‘z’||c&gt;=‘A’&amp;&amp;c&lt;=‘Z’) //中间也可以增加括号,不影响 i++;...
统计各种字符的出现次数
#include &lt;stdio.h&gt; //统计各个数字、空白符(包括空格符、制表符、换行符)、以及其他所有字符的出现次数 int main(void){ int c; int digit[10]={0}; int blank=0; int other=0; while((c=getchar())!=EOF){ if(c==' '||c=='\t'||c=='\n') ...
简单实现统计各种字符的个数
作为一名初学者,我一开始对Java并没有太大的兴趣,但是在接触Java以后,尤其是哪怕做出一个小小的题目时,内心都会有一丝开心,这使得我越来越喜欢学习Java。在这里我想和大家分享一下我刚做的一个题目的解题过程。其实题目的意思就是当我们输入一个字符串,然后实现统计这个字符串中包含多少数字,多少字母,多少空格以及其它。那我们怎样去实现它呢?首先,先获取键盘输入,在这里我是用一个数组来装统计的数,因为...
统计字符数(POJ NO.1744)
统计字符数(POJ NO.1744)总时间限制: 1000ms 内存限制: 65536kBQuetion 描述 判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多
统计输入字符数的问题
[code=C/C++]rn#include rnint main()rnrn long nc;rn nc = 0;rn while (getchar() != EOF)rn ++nc;rn printf("%ld\n",nc);rn return 0;rnrn[/code]rnrn为什么行不通啊??= =
九周统计字符数
对于统计字符数这个程序可是费了我好长时间,一开始不知道怎样把一串字符逐个分开来进行辨认,于是我有去看视屏找到了答案。但是接着又出来一个问题就是我前面用了三个if,最后一个else,结果错误。无奈之下我只好想度娘求助,找到一个类似程序图一看,瞬间明白,最后终于测试运行成功。
实时统计输入字符数
实时统计输入字符数 [code=&quot;java&quot;] var $E = document.getElementById; String.prototype.lenB = function(){ return this.unHtmlReplace().replace(/\*/g,&quot; &quot;).replace(/[^\x00-\xff]/g,&quot;**&quot;).length; } Str...
统计文件字符数错误。
下面程序类似wc命令吧:接受一个文件名作为参数并统计字符数,输出字符数。rn编译时warning: make point to int. (在fd=fopen(*++argv)) != NULL这一行)rn运行时error: segmentation fault.rnrn我觉得错误应该是处在 while (fget(fd) !=EOF) 这一行。rn具体就不知道了。rn请问错在哪里呢?应该怎么该?谢谢。rnrn[code=C/C++]rn#include rn#include rnrn#define program_name "WC"rnrnint rnmain (int argc, char *argv[])rnrn FILE *fd;rn int bytes=0;rnrn if (argc != 2)rn rn printf ("\rnUsage: %s [OPTION]... [FILE]...\n\rn or: %s [OPTION]... --files0-from=F\n\rn",rn program_name, argv[0]);rn return 0;rn rn if ((fd = fopen (*++argv,"r") == NULL))rn rn printf ("\rnerror: %s open error\n\rn",rn *argv[1]);rn return 0;rn rn lseek(fd, (off_t) 0, SEEK_SET);rn while (fgetc(fd) != EOF)rn rn bytes++;rn rn printf("Total chars: %d", bytes);rn fclose(fd);rn rn return 0;rnrn[/code]
输入一串字符,统计字母出现的个数
#include int main() { char c; int i,j; int a[100] = {0}; printf("请输入单词:\n"); while((c = getchar()) != '\n') //获取字母并统计每个字母出现的次数 { for(i = 65;i <= 90;i++) {
输入一串字符和输出
很简单的
将一串字符倒叙
/*************************************************************************    &amp;gt; 文件名: invert.c    &amp;gt; 作者: an    &amp;gt; 邮箱: 1355276785@qq.com     &amp;gt; 创建时间: 2018年05月22日 星期二 18时43分31秒 ***************...
匹配一串字符
表里有个字段类型是 ntextrn内容格式:原文 [反馈] 2007-12-19 14:26:56 反馈内容rnrn说明:这个字段的内容先是:原文 后面有2个空格 然后是 [反馈]加两个空格再加上日期加上两个空格加上反馈内容rnrnrn效果取:原文,反馈内容,反馈日期rnrn如:rnapple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了rnrnrn原文 反馈内容 反馈日期rnapple好吃吗? 太好吃了 2007-12-18 16:14:53rnrn如果有难度或不能实现这样也行rn原文 反馈内容rnapple好吃吗? [反馈] 2007-12-18 16:14:53 太好吃了rnrn一定要考虑到原文有这样的串[反馈]加两个空格再加上日期rn
下面的一串字符什么意思?
$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\drvlib.librnrn我在一个驱动上右键,选"settings",再选"link",里面有一栏,"Additional Libraries",其后面就是上面的一串,这一串是什么意思?实现什么功能?如何实现的呢?括号里面的字符串什么意思啊
利用数组将一串字符接到另一串字符的后面
#include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;string.h&amp;gt; int main() { char s1[100],s2[100]; int i,j; scanf(&quot;%s\n&quot;,s1);//输入s1的字符串,注意,此处不用加取地址符,因为数组名本身就代表了数组元素的起始位置 get...
一串字符包含另一串字符的个数的函数是什么?
如求"abcde,fghijklm,nop"中","的个数的函数是什么?
c语言判断一串字符小写字符的个数
#include void main() { int count=0; char c; do { c=getchar(); if(c>='a' && c<='z') count++; } while(c!='\n'); printf("count=%d",count); }
TextArea限制字符数+字符数提示
1、CSS样式: .cancel_reason_focus_textarea{     margin: 0;     padding: 2px 4px 2px 4px;     width: 276px;     height: 66px;     border: 1px solid #dcdcdd;     border-radius: 4px;     backgrou
统计字符
输入一行字符,分别统计其中的英文字母\空格\数字\其他字符的个数要如何实现?
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池