输入一个字符串,请编程统计其中的字母,数字,空格(含制表符),标点符号的个数并输出

#include <stdio.h>
#include <ctype.h>
int main()
{
int j=0,w=0,k=0,l=0,i=0,a=0;
char str1[200];
printf("请输入一个长度不超过200的字符串:\n");
gets(str1);
puts(str1);
for(i=0;str1[i]!='/0';i++)
{if(isalpha(str1[i])!=0)
j++;
else if(isalpha(str1[i])!=0)
k++;
else if(ispunct(str1[i])!=0)
l++;
elseif(isspace(str1[i])!=0)
w++;
}
printf("%d,%d,%d,%d",j,k-l,l,w);
return 0;
}
求高手看看哪里错了。1

#include <stdio.h>
#include <ctype.h>
int main()
{
int j=0,w=0,k=0,l=0,i=0,a=0;
char str1[200]="";//字符串要有初始化,否则系统默认赋值,会导致判断错误
printf("请输入一个长度不超过200的字符串:\n");
gets(str1);
puts(str1);
for(i=0;str1[i]!=0;i++)//字符串初始化时,未被赋值的位默认为0,函数检测时会与数字0区分
{
if(isalpha(str1[i])!=0)//字母
j++;
else if(isdigit(str1[i])!=0)//数字
k++;
else if(ispunct(str1[i])!=0)//标点
l++;
else if(isspace(str1[i])!=0)//空格
w++;
}
printf("%d,%d,%d,%d",j,k,l,w);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-24
pxcv[osdmv0 -fszov4=ew sgpt
相似回答