读书人

打印输入中单纯词长度的直方图

发布时间: 2012-09-03 09:48:39 作者: rapoo

打印输入中单词长度的直方图
我是菜鸟,不知道以下程序错误在哪,没法打印直方图
#include <stdio.h>
#define MAXNUMBER 15
void main()
{
int nc=0;
int i;
int n;
int w[MAXNUMBER];
int c;
for(i=0;i<MAXNUMBER;i++)//w[]是单词数组
{
w[i]=0;//各个单词初始时都是0个字母
}
while((c=getchar())!=EOF)//计算每个单词的字母数
{
if(c==' '||c=='\t'||'\n')
{

w[i]=nc;
++i;
nc=0;

}

if(c!=' '&&c!='\t'&&c!='\n')
++nc;
}
for(i=0;i<MAXNUMBER;i++)//打印直方图
{
for(n=1;n<w[i];n++)
printf("%c",'*');
printf("%c",'\n');
}
}


[解决办法]

C/C++ code
#include <stdio.h>#define MAXNUMBER 15void main(){  int nc=0;  int i;  int n;  int w[MAXNUMBER];  int c;  for(i=0;i<MAXNUMBER;i++)//w[]是单词数组  {      w[i]=0;//各个单词初始时都是0个字母  }  //注意:你的i值已经是MAXNUMBER  i=0;//恢复为0值  while((c=getchar())!=EOF)//计算每个单词的字母数  {      if(c==' '|| c=='\t'|| c=='\n')//if(c==' '|| c=='\t'|| '\n')少了个判断语句      {          w[i]=nc;          ++i;          nc=0;//                }      else//用else代替吧      {//if(c!=' '&&c!='\t'&&c!='\n')          ++nc;      }  }  for(i=0;i<MAXNUMBER;i++)//打印直方图  {      for(n=0;n<w[i];n++)      {          printf("%c",'*');      }    printf("%c",'\n');  }}
[解决办法]
C/C++ code
#include <stdio.h>#define MAXNUMBER 15void main(){  int nc=0;  int i;  int n;  int w[MAXNUMBER];  int c;  for(i=0;i<MAXNUMBER;i++)//w[]是单词数组  {      w[i]=0;//各个单词初始时都是0个字母  }  //注意:你的i值已经是MAXNUMBER  i=0;//恢复为0值  while((c=getchar())!=EOF)//计算每个单词的字母数  {      if(c==' '|| c=='\t'|| c=='\n')//if(c==' '|| c=='\t'|| '\n')少了个判断语句      {          w[i]=nc;          ++i;          nc=0;//                }      else//用else代替吧      {//if(c!=' '&&c!='\t'&&c!='\n')          ++nc;      }  }  for(i=0;i<MAXNUMBER;i++)//打印直方图  {      for(n=0;n<w[i];n++)      {          printf("%c",'*');      }    printf("%c",'\n');  }}//这CSDN怎么这么烂啊,最近老是回复看不到,我擦。 

读书人网 >C语言

热点推荐