2 tiankouren tiankouren 于 2014.06.28 12:17 提问

计数输入的字符为什么错误?

#include

void main()
{
int c,nb,nt,nl,num,others;

nb=nt=nl=num=others=0;
while((c=getchar())!=EOF)
{
    if(c==' ')
        ++nb;
    else if(c=='\t')
        ++nt;
    else if(c=='\n')
        ++nl;
    else if(c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9')
        ++num;
    else 
        ++others;
}
printf("\n%d %d %d %d %d\n",nb,nt,nl,num,others);

}
这是原程序就是想实现能对输入的字符进行计数,为什么我输入“123空格回车ctrl+c”后能正常计数,但输入“123空格回车123wer【】ctrl+c”就不能计数出others的个数呢?我用调试能看出要输入回车后才能进入循环计数,那怎么能解决这个问题呢?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言实现对输入中的行数,单词个数,字符的个数进行计数
/* * 时间:2011年6月5日8:38:52 * 作者:李灿辉 * 程序功能:对输入中的行数,单词个数,字符的个数进行计数 */ #include #define IN 1 /**inside a word*/ #define OUT 0 /*outs
从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后显示出这三类的计数结果
;从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后;显示出这三类的计数结果;create date:2007-11-23;author:野渡无人;**************************************************************************data segment  count_of_letter db the n
从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示输出结果
从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示输出结果。 运行结果正确,并注有较为详细的注释 轻松学习汇编语言
textarea输入框实时统计输入字符数
textarea输入框实时统计输入字符数 JS控制代码:  function wordStatic(input) {         // 获取要显示已经输入字数文本框对象         var content = document.getElementById('num');         if (content && input) {             // 获取输入框输入内容长度并更新到界面
输入字符串,输出各个字符的个数(map用法小例)
#include #include #include using namespace std; void main() { string str; getline(cin, str); map mapChar; for (int i = 0; i { ++mapChar[str[i]]; } map::const_iterator it; for
对输入字符串计数!
<br />#include<stdio.h><br />int main()<br />{<br /> char *p,s[20];<br /> int space=0,upper=0,lower=0,other=0,digital=0,i=0;<br /> printf("please input string:");<br />    while((s[i]=getchar())!='/n')//(s[i]=getchar())一定要加括号,否则s[i]变量没有真正赋值!<br />  i++;<br
汇编语言: 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,
从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示 计数结果。 data segment buf db 101,?,101 dup (?) data endsstack segment stack dw 20h dup(?) top label word stack endscode segment assume ds:data,cs:code,ss:stack
今天用Map集合写了一个字符串字符统计的程序,看集合看的头痛,就看了一下GUI,于是就随便记点。
一、使用Map集合写的字符串中字符统计功能函数。 package Map; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; public class MapTest { /** * @param args */ public static void main(Str
简单的C程序<三>:单词计数、从输入行读取数据、最长行打印
问题一:对输入的单词计数 解法一:#include <stdio.h> #define IN 1 #define OUT 0int main(void) { int c,cnt,flag; cnt = 0; flag = OUT; //在单词外 while ( (c=getchar()) != EOF) { if (c==' ' || c=
input输入框输入中文时,需要计数input输入的汉字数,解决拼音输入的时候计数问题
// 标题字数限制超出不显示 function _restrictWords(el,num,wordsEl) {//元素、限制字数、显示现有字数的元素 var cpLock = false; $(el).on('compositionstart', function() { cpLock = true; }); $(el).on('compositionend', function()