neuq oj 1038: 谭浩强C语言(第三版)习题4.8 C语言
来源:互联网 发布:原生js appendchild 编辑:程序博客网 时间:2024/04/29 12:55
疑问:保留两位小数,但不进行四舍五入,如何表示?若需要四舍五入又需如何表示?区别?待解决。
1038: 谭浩强C语言(第三版)习题4.8
时间限制: 1 Sec 内存限制: 128 MB提交: 600 解决: 60
[提交][状态][讨论版]
题目描述
设圆半径r,圆柱高h 求圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。 用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 PI=3.14
输入
两个浮点数,r和h
输出
圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。 保留两位小数,每个结果后换行。
样例输入
1.5 3
样例输出
C1=9.42Sa=7.06Sb=28.26Va=14.13Vb=21.19
代码
#include<stdio.h>int main(){float r,h,C1,Sa,Sb,Va,Vb;scanf("%f%f",&r,&h);C1=2*3.14*r;Sa=3.14*r*r; Sb=4*3.14*r*r;Va=4*3.14*r*r*r/3;Vb=h*3.14*r*r;printf("C1=%.2f\n",C1);printf("Sa=%.2f\n",Sa-0.01);<span style="color:#ff0000;">//此处有疑问:7.07?7.06?</span>printf("Sb=%.2f\n",Sb);printf("Va=%.2f\n",Va);printf("Vb=%.2f\n",Vb);<span style="color:#ff0000;">//21.195。。。。此处保留两位小数后为21.19</span>return 0;}
本题关键在于小数结果的处理。
printf用法:
type的字符用于规定输出数据的类型,含义如下:
字符对应数据类型含义d / iint接受整数值并将它表示为有符号的十进制整数,i是老式写法ounsigned int无符号8进制整数(不输出前缀0)u
unsigned int无符号10进制整数x / X
unsigned int无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)f(lf)
float(double)单精度浮点数用f,双精度浮点数用lf(尤其scanf不能混用)e / E
double科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写g / G
double使用以上两种中最短的形式,大小写的使用同%e和%Ec
char字符型。可以把输入的数字按照ASCII码相应转换为对应的字符s / S
char * / wchar_t *字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)p
void *以16进制形式输出指针nint *到此字符之前为止,一共输出的字符个数,不输出文本%
无输入不进行转换,输出字符‘%’(百分号)本身
m无打印errno值对应的出错内容,(例: printf("%m\n"); )注:%g、%G在小数点位数四位或指数大于等于精度时用%e、%E,否则用%f。
结果保留两位小数,四舍五入:
可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字。
其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。
结果采用科学计数法:
%m.ne和%-m.ne:此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
非常好的相关博客:
标准C I/O
http://www.cnblogs.com/minotmin/archive/2013/09/14/3320698.html
printf()格式化输出详解
http://www.cppblog.com/haosola/archive/2014/04/08/206503.html
0 0
- neuq oj 1038: 谭浩强C语言(第三版)习题4.8 C语言
- neuq oj 1051: 谭浩强C语言(第三版)习题6.7
- NEUQ OJ 1039: 谭浩强C语言(第三版)习题4.9
- neuq oj 1043: 谭浩强C语言(第三版)习题5.7 C语言
- neuq oj 1049: 谭浩强C语言(第三版)习题6.5 C语言
- neuq oj 1052: 谭浩强C语言(第三版)习题6.8 C语言
- neuq oj 1053: 谭浩强C语言(第三版)习题6.9 C语言
- neuq oj 1036: 谭浩强C语言(第三版)习题1.6 求最大值 C++
- neuq oj 1037: 谭浩强C语言(第三版)习题3.7 C++
- neuq oj 1044: 谭浩强C语言(第三版)习题5.8 C++
- neuq oj 1047: 谭浩强C语言(第三版)习题6.3 C++
- neuq oj 1050: 谭浩强C语言(第三版)习题6.6 C++
- neuq oj 1056: 谭浩强C语言(第三版)习题7.1 C++
- neuq oj 1058: 谭浩强C语言(第三版)习题7.3 矩阵 C++
- neuq oj 1059: 谭浩强C语言(第三版)习题7.4 将数插入有序数组C++
- neuq oj 1060: 谭浩强C语言(第三版)习题7.5 数组逆序 C++
- neuq oj 1062: 谭浩强C语言(第三版)习题8.2 C++
- neuq oj C++ 二维数组1064: 谭浩强C语言(第三版)习题8.4
- [bzoj3455]供电网络
- 自定义cell
- Servlet生命周期
- 51单片机data,idata,xdata,pdata的区别
- iOS复制链接到剪贴板
- neuq oj 1038: 谭浩强C语言(第三版)习题4.8 C语言
- Redis教程(十二):服务器管理命令总结
- Java byte数据类型详解
- ts
- SPOJ COT(树上的点权第k大)
- Redis教程(十一):虚拟内存介绍:
- 前端学习总结(一)HTML5基础
- iOS 最新版 CocoaPods 的安装流程
- 敏捷开发Scrum在项目中的合理使用