一道C语言题目,求解答!
从键盘输入一串数字字符 (该字符串至多包含一个点号’.’),将其转换成对应的实数。说明:点号前有0-9位数字字符,点号后有0-6位数字字符,但是点号前后不能同时没有数字字符。例如输入:“36.8"或"36.80”,则输出实数:36.800000;输入:".8"、“0.8"或"0.800”,则输出实数:0.800000;输入字符串:“36"或"36.0”,则输出实数:36.000000。
供参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
double val = 0 ;
char str[32] = { 0 };
printf("请输入数字字符:");
scanf("%s", str);
sscanf(str, "%lf", &val);
printf("%f", val);
return 0;
}