您的位置:首页 > 其它

POJ百练 2765(秦九韶算法,八进制小数)

2016-06-23 17:05 225 查看
题意:百练2765

猛一看就像是高精度,但是实际小数范围比较小,所以可以用double。

#include<stdio.h>
#include<string.h>
int main()
{
char a[16];
int length,i;
double ten;
while(scanf("%s",a) != EOF){
length = strlen(a);
ten = 0;
for(i = length - 1;a[i] != '.'; i--)
{
ten /= double(8.0);
ten += a[i] - '0';
}
ten /= double(8.0);
printf("%s [8] = %.45g [10]\n",a,ten);<span style="white-space:pre">		</span>//相当于把多余的0去掉
}
return 0;
}

转换说明及作为结果的打印输出%a 浮点数、十六进制数字和p-记数法(C99)
%A 浮点数、十六进制数字和p-记法(C99)
%c 一个字符 
%d 有符号十进制整数 
%e 浮点数、e-记数法
%E 浮点数、E-记数法
%f 浮点数、十进制记数法 
%g 根据数值不同自动选择%f或%e.
%G 根据数值不同自动选择%f或%e.
%i 有符号十进制数(与%d相同)
%o 无符号八进制整数
%p 指针 
%s 字符串
%u 无符号十进制整数
%x 使用十六进制数字0f的无符号十六进制整数 
%X 使用十六进制数字0f的无符号十六进制整数
%% 打印一个百分号 使用printf ()函数 printf()的基本形式: printf("格式控制字符串",变量列表);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poj