用c语言编程。输入作为一个字符串,程序将此转为整数,如输入126x则...
发布网友
发布时间:2024-10-16 05:46
我来回答
共1个回答
热心网友
时间:2024-10-16 23:12
是忽略数字以外的字符只留下数字,然后转换成整型?
#include <stdio.h>
#include <string.h>
int str2Num(char *str);
int p10(int m);//计算10的次方
int main()
{
char str[100];
while(1)
{
printf("输入一个字符:");
scanf("%s",str);
printf("忽略数字以外字符,剩余字符转换成整数数值为:%d\n",str2Num(str));
}
return 0;
}
int str2Num(char *str)
{
int n=strlen(str),m=0,sum=0;
char *p=&str[n-1];
while(n--)//从字符串最后一位往前取,数字累加
{
if(*p>='0' && *p<='9')
{
sum=sum+(*p-'0')*p10(m);
m++;
}
p--;
}
return sum;
}
int p10(int m)//计算10的次方
{
int i,sum=1;
for(i=0;i<m;i++)
sum*=10;
return sum;
}