C语言检错

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:10:39
#include<stdio.h>
main()
{
char p;
int i,a=0,b=0,c=0,d=0;
printf("please input \n");
p=getchar();
for(i=0;i<100;i++)
{
if(p>='a'&&p<='z'||p>='A'&&p<='Z')
a+=1;
else if(p=='')
b+=1;
else if(p>='0'&&p<='9')
c+=1;
else
d+=1;
}
printf("%d %d %d %d\n",a,b,c,d);
getch();
}
题目是输入一行字符,统计里面的英文字母、数字、空格和其它符号的个数。我这个可能思想是错的,如果你觉得我的思想是错的,请写一个正确的给我。谢谢

#include <stdio.h>
#include <string.h>
main()
{
char *p; //改成指针,单个字符变量不能装下字符串
int i,a=0,b=0,c=0,d=0;
printf("please input \n");
gets(p);
while(*p!='\0') //当p指向的字符不为空时,继续循环
{
if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))
a++;
else if(*p==' ')
b+=1;
else if(*p>='0'&&*p<='9')
c+=1;
else
d+=1;
p++;
}
printf("%d %d %d %d\n",a,b,c,d);
getch();
}