C语言如何判断输入的字符串中是否含有数字

如题所述

#include<stdio.h>
int main()
{
char c[100];
scanf("%s",c);
int i = 0;
int count=0;
for(;i<100;i++)
{
if(c[i]>47&&c[i]<58)
count++;
}
if(count)
printf("输入的字符串中含有数字,且有%d个",count);
return 0;
}
ps:数字0-9在ACS码中对应的值为48~57
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-11
C语言只有扫描了,例如:
char s[]="判断有没有数字123";
char *p;
int have=0;
p=s;
while(*p && ! have){
if (*p>='0' && *p<='9') have=1;
p++;
}
puts(have?"有数字":"没数字");
第2个回答  推荐于2017-09-14
n = strlen(str);

for(int i = 0;i<n;i++)
{
if( str[i]>='0' && str[i]>='0')
printf("有数字!");
}追问

str[i]>='0' && str[i]>='0'什么意思

追答

不好意思,是9.
str[i]>='0' && str[i]>='9' 判断字符串中的字符是否为数字

本回答被提问者采纳
第3个回答  2011-11-11
#include "stdio.h"

main()
{
char str[81];
gets(str);
for(char *p=str;*p!='\0';p++)
if(*p>='0' && *p<='9')
break;
if(*p) printf("Have digit\n");
else printf("No digit\n");
return 0;
}
相似回答