问题 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(整理四舍五入)的更多相关文章

  1. 【转载】 C#使用Math.Round方法对计算结果进行四舍五入操作

    在C#的数值运算中,有时候需要对计算结果进行四舍五入操作,此时就可使用内置方法Math.Round方法来实现四舍五入操作,Math.Round方法有多个重载函数,支持设置有效位数进行四舍五入,如果没有 ...

  2. 斐波那契数列计算html代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 题目1442:A sequence of numbers(数列计算以及二分求幂运用)

    题目链接:http://ac.jobdu.com/problem.php?pid=1442 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  4. JS数字计算精度误差的解决方法

    本篇文章主要是对javascript避免数字计算精度误差的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 如果我问你 0.1 + 0.2 等于几?你可能会送我一个白眼,0.1 + 0. ...

  5. double四舍五入,商品金额大小写转换,设置货币的小数位数跟格式输出,进制转化

      1:计算double值四舍五入的方法 对小数数值进行四舍五入,首先应该确认保留小数位, 如果数值的小数精度大于保留小数位,那么开始四舍五入计算.四舍五入的方法非常简单,在所有要丢失精度的小数位中加 ...

  6. 不要在精确计算中使用float和double类型

    http://blog.csdn.net/androiddevelop/article/details/8478879 一  问题描述 float和double类型不能用于精确计算,其主要目的是为了科 ...

  7. 保留n位四舍五入小数

    一:可选择保留位数,注释很解释的很详细,上图 二:全部代码 using System; using System.Collections.Generic; using System.Component ...

  8. 关于C/C++的四舍五入方向

    今天在刷题过程中发现了一个特别奇怪的现象,printf() 的精度控制不是按照4舍5入,而是按照5舍6入, 例如: printf("%.2f\n",0.145) printf(&q ...

  9. python numpy 科学计算通用函数汇总

    import numpy as np #一元函数 #绝对值计算 a = -1b = abs(a)print(b)输出: 1 #开平方计算 a = 4b = np.sqrt(a)print(b)输出: ...

随机推荐

  1. Java集合--阻塞队列及各种实现的解析

    阻塞队列(Blocking Queue) 一.队列的定义 说的阻塞队列,就先了解下什么是队列,队列也是一种特殊的线性表结构,在线性表的基础上加了一条限制:那就是一端入队列,一端出队列,且需要遵循FIF ...

  2. vscode环境配置(一)——C Program运行

    ctrl + shift +p 打开应用商店 搜索 C/C++  和 Code Runner(一键编译运行)  

  3. 愉快地使用Windows Terminal

    有了Windows Terminal 你再也不需要其他任何终端了-- 下载 直接到Windows 10 自带的应用商店下载安装.参考: https://github.com/Microsoft/Ter ...

  4. 前端Json对象与Json字符串互转(4种转换方式)

    1>jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏 ...

  5. 小智的糖果(Candy) 51nod 提高组试题

    luogu AC通道! (官方数据) 题目描述 小智家里来了很多的朋友,总共有N个人,站成一排,分别编号为0到N-1,小智要给他们分糖果.但 是有的朋友有一些特殊的要求,有的人要求他左右的两个人(左边 ...

  6. Python 每日一练 | Flask 实现半成品留言板

    留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...

  7. string 去重复

    //AABB>>AB         //AAA>>A         //ABBAA>ABA public static string SpiltString(stri ...

  8. STL中的迭代器分类

      STL中迭代器的分类 五类迭代器如下: 1.输入迭代器:只读,一次传递    为输入迭代器预定义实现只有istream_iterator和istreambuf_iterator,用于从一个输入流i ...

  9. Chisel3 - Tutorial - Parity

    https://mp.weixin.qq.com/s/OtiQnE52PwdCpvmzJ6VFnA   奇偶发生器.统计输入中1的个数,如果为偶数则输出0,奇数则输出1.   参考链接: https: ...

  10. SpringMVC(一)概述、解析器与注解

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.SpringMVC的概述 1.概述 Spring MVC框架是一个开源的Java平台,为开发强大的基 ...