这个问题不是很难,给你个思路,
先反序也可以,从后面计算也可以
反序的话用这个函数strrev
从后面计算用循环就可以
找到小数点的位置,计算小数的多少位。这个用字符串游历很简单就能解决吧
分别计算小数点前面的值和后面的值,
int a;
if(s[i] >= '0' && s[i] <= '9') //遍历字符串s(0.75),判断s[i]是否为数字
{
a = s[i] - '0'; //转换成对应的数字
}
楼上程序可行,原理是 字符型是ACI码形式,其中的0 用十六进制表示就是 0X30,1=0X31
那么 转化为数字就是用 字符直接减去 0x30,也就是‘0’,
int a,b,c;
sscanf(str,"%d.%1d%1d",&c,&a,&b);
a,b是你要的数
类似于scanf的用法,从字符串中读
#include
main()
{
char c,k;
while((c=getchar())!='\n')
if(c>='1' && c<='9')
{ k=c-'0';
printf("%d\n",k);
}
}