数列计算I(整理四舍五入)
问题 C: 数列计算I(点击)
时间限制: 1 Sec 内存限制: 128 MB
提交: 496 解决: 250
[提交] [状态] [讨论版] [命题人:admin]
题目描述
有一列数是:4/7, 7/11, 11/18, 18/29, 29/47, 47/76 „„请找出这个数列的规律,编写程序计算并输出这个数列的第 N 项(要求是分数形式),并计算这个数列的前 N 项和(结果四舍五入保留两位小数)。(其中:3≤N≤30)。
输入
只有一行,包含1个符合题目要求的正整数N。
输出
共有两行。
第一行如样例中的一个特定格式的分数表示这个数列的第N项;
第二行仅包含一个数表示这个数列的前N项的和。
样例输入
复制样例数据
6
样例输出
47/76
3.68
思路:
主要是四舍五入问题 当时编译器还有问题 刚才才刚刚发现 明明强制转换了变四舍五入 运行后还是错误的答案 但是提交了就正确
浪费了不少时间。
代码:
#include<stdio.h>
int main()
{
int a[35],i,n;
double sum[35];
a[1]=4,a[2]=7;
for(i=3;i<=31;i++){
a[i]=a[i-1]+a[i-2]; //打表把每个分数的分子保存进数组 其实还可以更简单:将分母保
} //存下来每次都直接计算sum 但是开始没想起来 就在下面多加了个
sum[1]=4.0/7.0; //for循环
for(i=2;i<=30;i++){
sum[i]=sum[i-1]+(a[i]/(a[i+1]*1.0));
}
scanf("%d",&n);
printf("%d/%d\n",a[n],a[n+1]);
printf("%.2lf\n",(int)(sum[n]*100+0.5)/100.0); //四舍五入方法(小数位)
return 0;
}
方法总结:
1.不保留小数的四舍五入:
加头文件:#include<math.h>
int a=round(a1) //a代表转换后的值 a1代表转换前的浮点型数
2.保留一位小数的四舍五入:
a=(int)(a1*10+0.5)/10.0; //a 和a1 的含义同上
3.保留两位小数的四舍五入:
a=(int)(a1*100+0.5)/100.0; //a 和a1 的含义同上
注意:最后所除的一定是浮点型的10.0 和100.0 不然就会错误
其他小数点后位数的转换可以以此类推
测试:
#include<stdio.h>
#include<math.h>
int main()
{
double a1=1.5,a2=1.44,b1=1.44,b2=1.46,c1=1.445,c2=1.444;
int a11=round(a1);
int a12=round(a2);
double b11=(int)(b1*10+0.5)/10.0;
double b12=(int)(b2*10+0.5)/10.0;
double c11=(int)(c1*100+0.5)/100.0;
double c12=(int)(c2*100+0.5)/100.0;
printf("%d %d %.1lf %.1lf %.2lf %.2lf\n",a11,a12,b11,b12,c11,c12);
return 0;
}
结果:
数列计算I(整理四舍五入)的更多相关文章
- 【转载】 C#使用Math.Round方法对计算结果进行四舍五入操作
在C#的数值运算中,有时候需要对计算结果进行四舍五入操作,此时就可使用内置方法Math.Round方法来实现四舍五入操作,Math.Round方法有多个重载函数,支持设置有效位数进行四舍五入,如果没有 ...
- 斐波那契数列计算html代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 题目1442:A sequence of numbers(数列计算以及二分求幂运用)
题目链接:http://ac.jobdu.com/problem.php?pid=1442 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- JS数字计算精度误差的解决方法
本篇文章主要是对javascript避免数字计算精度误差的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 如果我问你 0.1 + 0.2 等于几?你可能会送我一个白眼,0.1 + 0. ...
- double四舍五入,商品金额大小写转换,设置货币的小数位数跟格式输出,进制转化
1:计算double值四舍五入的方法 对小数数值进行四舍五入,首先应该确认保留小数位, 如果数值的小数精度大于保留小数位,那么开始四舍五入计算.四舍五入的方法非常简单,在所有要丢失精度的小数位中加 ...
- 不要在精确计算中使用float和double类型
http://blog.csdn.net/androiddevelop/article/details/8478879 一 问题描述 float和double类型不能用于精确计算,其主要目的是为了科 ...
- 保留n位四舍五入小数
一:可选择保留位数,注释很解释的很详细,上图 二:全部代码 using System; using System.Collections.Generic; using System.Component ...
- 关于C/C++的四舍五入方向
今天在刷题过程中发现了一个特别奇怪的现象,printf() 的精度控制不是按照4舍5入,而是按照5舍6入, 例如: printf("%.2f\n",0.145) printf(&q ...
- python numpy 科学计算通用函数汇总
import numpy as np #一元函数 #绝对值计算 a = -1b = abs(a)print(b)输出: 1 #开平方计算 a = 4b = np.sqrt(a)print(b)输出: ...
随机推荐
- Java集合--阻塞队列及各种实现的解析
阻塞队列(Blocking Queue) 一.队列的定义 说的阻塞队列,就先了解下什么是队列,队列也是一种特殊的线性表结构,在线性表的基础上加了一条限制:那就是一端入队列,一端出队列,且需要遵循FIF ...
- vscode环境配置(一)——C Program运行
ctrl + shift +p 打开应用商店 搜索 C/C++ 和 Code Runner(一键编译运行)
- 愉快地使用Windows Terminal
有了Windows Terminal 你再也不需要其他任何终端了-- 下载 直接到Windows 10 自带的应用商店下载安装.参考: https://github.com/Microsoft/Ter ...
- 前端Json对象与Json字符串互转(4种转换方式)
1>jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏 ...
- 小智的糖果(Candy) 51nod 提高组试题
luogu AC通道! (官方数据) 题目描述 小智家里来了很多的朋友,总共有N个人,站成一排,分别编号为0到N-1,小智要给他们分糖果.但 是有的朋友有一些特殊的要求,有的人要求他左右的两个人(左边 ...
- Python 每日一练 | Flask 实现半成品留言板
留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...
- string 去重复
//AABB>>AB //AAA>>A //ABBAA>ABA public static string SpiltString(stri ...
- STL中的迭代器分类
STL中迭代器的分类 五类迭代器如下: 1.输入迭代器:只读,一次传递 为输入迭代器预定义实现只有istream_iterator和istreambuf_iterator,用于从一个输入流i ...
- Chisel3 - Tutorial - Parity
https://mp.weixin.qq.com/s/OtiQnE52PwdCpvmzJ6VFnA 奇偶发生器.统计输入中1的个数,如果为偶数则输出0,奇数则输出1. 参考链接: https: ...
- SpringMVC(一)概述、解析器与注解
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.SpringMVC的概述 1.概述 Spring MVC框架是一个开源的Java平台,为开发强大的基 ...