AMC真题c
是否忽略数字以外的字符只留下数字,然后转换成整数?
#包含?& ltstdio.h & gt
#包含?& ltstring.h & gt
int?str2Num(char?* str);
int?p10(int?m);//计算10的幂。
int?主()
{
夏尔?str[100];
while(1)
{
Printf("输入一个字符:");
scanf("%s ",str);
Printf("忽略数字以外的字符,其余字符转换为整数值:%d\n ",str 2 num(str));
}
回归?0;
}
int?str2Num(char?*str)
{
int?n=strlen(str),m=0,sum = 0;
夏尔?* p = & ampstr[n-1];
while(n-)//从字符串的最后一位向前取,数字累加。
{
if(* p & gt;='0'?& amp& amp?* p & lt='9')
{
sum = sum+(* p-' 0 ')* p 10(m);
m++;
}
p-;
}
回归?总和;
}
int?p10(int?M)//计算10的幂。
{
int?I,sum = 1;
for(I = 0;我& ltm;i++)
sum * = 10;
回归?总和;
}