|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
/****题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。****/
#include "stdio.h"
int main()
{
char str,*p;
int letters=0,space=0,digit=0,others=0;
printf("Please input character:\n");
scanf("%s",&str);
p=&str;
while ((*p++)!='\0')/****原代码没有用指针,只是再while语句加了判断条件(str=getchar()!='\n';)****/
{
if(str>='A'&&str<='Z'||str>='a'&&str<='z')
{
letters++;
}
else if(str==' ')
{
space++;
}
else if(str>='0'&&str<='9')
{
digit++;
}
else
others++;
}
printf("%d %d %d %d",letters,space,others,digit);
}
/*****我这样写的话,问题出在哪里了,求大佬解答一下,跪谢******/
- #include "stdio.h"
- int main()
- {
- char str[10000]={'\0'};
- char *p=str;
- int letters=0,space=0,digit=0,others=0;
- printf("Please input character:\n");
- scanf("%[^\n]",p);
- while (*p!='\0')
- {
- if((*p>='A' && *p<='Z') || (*p>='a' && *p<='z'))
- {
- letters++;
- }
- else if(*p==' ')
- {
- space++;
- }
- else if(*p>='0' && *p<='9')
- {
- digit++;
- }
- else
- others++;
- p++;
- }
- printf("字符=%d 空格=%d 其他=%d 数字=%d \n",letters,space,others,digit);
- }
复制代码
|
|