C语言中怎样判断(用编程的方法判断)输入的内容是哪种类型的?
要求是输入一串东西,能够判断出是纯字母,或者是纯数字,或者是字符串(字母数字混合的那种)。如果不好弄的话那就判断输入的内容是不是1到8之间的数字便可。不要这种情况的,那就...
要求是输入一串东西,能够判断出是纯字母,或者是纯数字,或者是字符串(字母数字混合的那种)。如果不好弄的话那就判断输入的内容是不是1到8之间的数字便可。不要这种情况的,那就是(举个例子:输入“aa33”时,先是判断出来是字母,紧接着然后又判断出来是数字。)只能有一个结果。条件有点苛刻,但是确实不好弄,课本上有一个函数isdigit,但是这个函数我总是弄不好。能给一个详细的使用方法的话,也会很感激的!
展开
1个回答
展开全部
#include<stdio.h>
int fun(char *s)
{
int i=0, c=0;
while(*s++!=0)
{
if(*s>='0'&&*s<='9') i=1;
else if((*s>='a'&&*s<='z')||(*s>='A'&&*s<='Z')) c=-1;
}
return i+c;
}
void main()
{
char s[100]; int i=0;
gets(s);
i=fun(s);
switch (i)
{
case 0: printf("混合"); break;
case 1: printf("纯数字"); break;
case -1: printf("纯字符");
}
}
是这个意思么?
int fun(char *s)
{
int i=0, c=0;
while(*s++!=0)
{
if(*s>='0'&&*s<='9') i=1;
else if((*s>='a'&&*s<='z')||(*s>='A'&&*s<='Z')) c=-1;
}
return i+c;
}
void main()
{
char s[100]; int i=0;
gets(s);
i=fun(s);
switch (i)
{
case 0: printf("混合"); break;
case 1: printf("纯数字"); break;
case -1: printf("纯字符");
}
}
是这个意思么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询