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;

回归?总和;

}