展开全部
可以通过遍历字符串中每一个字符,利用asc码来判断是否是数字及数字的值。
我写的一个简单的程序,包含将字符串形式的整数,识别及转换。你参考吧。
#include <stdio.h>
#include <string.h>
int strToNum(char *str);
int isNum(char *str);
int p10(int m);
int main()
{
char str[10];
while(1)
{
memset(str,0,10);
scanf("%s",str);
if(isNum(str))
printf("字符串对应的整数是:%d\n",strToNum(str));
else
printf("错误!只能输入数字字符!\n");
}
return 0;
}
int strToNum(char *str)//将字符串形式的整数转换成int型数字
{
int len=strlen(str),i,sum=0;
for(i=0;i<len;i++)
sum+=(str[i]-'0')*p10(len-i-1);
return sum;
}
int isNum(char *str)//判断字符串内容是否是一个整数,是返回1,否则返回0
{
int len=strlen(str),i;
for(i=0;i<len;i++)
if(str[i]<'0' || str[i]>'9')
return 0;
return 1;
}
int p10(int m)//计算10的次方
{
int i,sum=1;
for(i=0;i<m;i++)
sum*=10;
return sum;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询