《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 <1>
来源:互联网 发布:中信信托知乎 编辑:程序博客网 时间:2024/06/05 22:40
- 此书我购于去年的十一月份,也是经前人推荐购买的一本比较有用的书籍,在寒假自学此书,其简洁清晰高效的示例代码令我印象深刻,于是我打算把这本书的前四章后面的注解与习题(未给出标准解答)认真的去思索和研究,谭书亦是如此。于是有了此篇不是特别工整的博客。
- 1-1 average
输入三个整数,输出他们的平均值,保留三位小数。
#include<stdlib.h>#include<iostream>#include<iomanip>using namespace std;int main(){ int a,b,c; float d; cin>>a>>b>>c; d=(a+b+c)*1.0/3; cout<<setprecision(4)<<d<<endl; return 0;}/* 关于setprecision。#include <iostream.h>#include <iomanip.h> //用到格式控制符void main(){double amount = 22.0/7;cout <<amount <<endl;cout <<setprecision(0) <<amount <<endl<<setprecision(1) <<amount <<endl<<setprecision(2) <<amount <<endl<<setprecision(3) <<amount <<endl<<setprecision(4) <<amount <<endl;}运行结果为:3.14286333.13.143.143*/
代码注释参考:
http://zhidao.baidu.com/link?url=rqa1ImTZOlOyWRsWRTpWak614RGHj577Q1I7lVwttTuTkXPkx9SpevgUVVr_ichS-FPDemUkUIc2sKaW2EeeEK
作者:汪雷
注:由于setprecision()会将小数自动四舍五入,个人认为最简单的解决方法还是调用cstdio库使用printf函数,利用%.3f控制输出格式。
这里我从此例了解到iomanip库中setprecision的用法,在用浮点表示的输出中,setprecision(n)表示有效位数。
- 输入三个整数按从大到小的顺序输出(指针)
/*输入三个整数按从大到小的顺序输出*/#include<stdio.h>void swap(int *p1,int *p2,int *p3){ int *p; if(*p1<*p2) { *p=*p1; *p1=*p2; *p2=*p; } if(*p1<*p3) { *p=*p1; *p1=*p3; *p3=*p; } if(*p2<*p3) { *p=*p2; *p2=*p3; *p3=*p; }}int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); printf("%d %d %d\n",a,b,c); int *point_1=&a,*point_2=&b,*point_3=&c; swap(point_1,point_2,point_3); printf("%d %d %d\n",a,b,c); return 0;}/*#include<stdio.h>void swap(int *p1,int *p2,int *p3){ int *p; if(*p1<*p2) { p=p1; p1=p2; p2=p; } if(*p1<*p3) { p=p1; p1=p3; p3=p; } if(*p2<*p3) { p=p2; p2=p3; p3=p; }}int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); printf("%d %d %d\n",a,b,c); int *point_1=&a,*point_2=&b,*point_3=&c; swap(point_1,point_2,point_3); printf("%d %d %d\n",a,b,c); return 0;}输入:7 8 9. 输出结果:7 8 9.原因:函数值是单向传递,函数中交换地址以后,并不会传递回原函数。原函数中的point_1/2/3地址并没有改变。使用指针来处理:能够改变多个值。而普通的函数只能有一个返回值。*/
0 0
- 《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 <1>
- 算法竞赛入门经典(第2版)2.5注解与习题
- 算法竞赛入门经典(刘汝佳)习题3-1 UVa1585
- 算法竞赛入门经典(刘汝佳)习题4-1 UVa1589
- 算法竞赛入门经典第6章图论和树:竞赛选讲部分与习题
- 算法竞赛入门经典-学习笔记1(c语言)
- 算法竞赛入门经典第1章【小结与习题】
- 算法竞赛入门经典(第2版)-刘汝佳-第四章解题源码(C语言)(部分)
- 算法竞赛入门经典课后习题1
- 算法竞赛入门经典第四章:部分习题解答
- 算法竞赛入门经典(刘汝佳)习题3-2 UVa1586
- 算法竞赛入门经典(刘汝佳)习题3-3 UVa1225
- 算法竞赛入门经典(刘汝佳)习题3-4 UVa455
- 算法竞赛入门经典(刘汝佳)习题3-5 UVa227
- 算法竞赛入门经典(刘汝佳)习题3-6 UVa232
- 算法竞赛入门经典(刘汝佳)习题3-8 UVa202
- 算法竞赛入门经典(刘汝佳)习题3-7 UVa1368
- 算法竞赛入门经典(刘汝佳)习题3-9 UVa10340
- Docker Notes
- 程序设计第二次作业<1>
- CSS之position浅谈
- 程序设计第二次作业<2>
- 不断从市场中创新,明白顾客需求,做好正确的分析。
- 《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 <1>
- 《C语言程序设计》指针篇<一>
- 《C语言程序设计》指针篇<二>
- java-maven-SpringMVC框架
- 程序设计第三次作业---C++计算器雏形
- hdoj上的一题和程序设计第二次作业的拓展-人见人爱a+b
- C++的<unordered_set>
- hdoj-2028-Lowest common multiple plus
- hdoj-2035-人见人爱a^b