IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 2022/2/6——浙大版《C语言程序设计(第3版)》题目集PAT错题记录 -> 正文阅读

[C++知识库]2022/2/6——浙大版《C语言程序设计(第3版)》题目集PAT错题记录

练习4-7 求e的近似值 (15 分)

自然常数 e 可以用级数 1+1/1!+1/2!+?+1/n!+? 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。

输入格式:

输入第一行中给出非负整数 n(≤1000)。

输出格式:

在一行中输出部分和的值,保留小数点后八位。

输入样例:

10

输出样例:

2.71828180

//j应该是double类型的变量,否则再付给sum之前会进行整型的去小数运算

#include <stdio.h>
int main()
{
    int n, i;
    double sum = 1, j = 1;
    scanf("%d", &n);
    for(i = 1; i <= n; i++)
    {
        j *= i;
        sum += 1 / j;
    }
    printf("%.8lf", sum);
    return 0;
}

习题4-2 求幂级数展开的部分和 (20 分)

已知函数ex可以展开为幂级数1+x+x2/2!+x3/3!+?+xk/k!+?。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。

输入格式:

输入在一行中给出一个实数x∈[0,5]。

输出格式:

在一行中输出满足条件的幂级数部分和,保留小数点后四位。

输入样例:

1.2

输出样例:

3.3201

//1.? x的n次幂要用y*=x;来循环表示,不能用x*=x,这样x的值会一直变化。2.要用 j*=i来表示分母,不能用(i*j)这样j一直不会变化;

#include <stdio.h>
int main()
{
    double x, y, i = 1, j = 1;
    scanf("%lf", &x);
    y = x;
    double sum = 1 + x;
 
    do{
        y *= x;        
        i++;
        j *= i;
        sum += y / j;
    }while(y / j >= 0.00001);
    printf("%.4lf", sum);
    return 0;
}

习题4-3 求分数序列前N项和 (15 分)

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

20

输出样例:

32.66

//变量需要是double型不能是float型,float型会报错,当N足够大是float的范围可能不够

#include <stdio.h>
int main()
{
    int N, i;
    double a = 2, b = 1, t;
    double sum = 0;
    scanf("%d", &N);
    for(i = 1; i <= N; i++)
    {
        sum += a / b;
        t = b;
        b = a;
        a = a + t;
    }
    printf("%.2lf", sum);
    return 0;
}

习题4-4 特殊a串数列求和 (20 分)

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++?+aa?a(n个a)之和。

输入格式:

输入在一行中给出不超过9的正整数a和n。

输出格式:

在一行中按照“s = 对应的和”的格式输出。

输入样例:

2 3

输出样例:

s = 246

//理解错误!aa:指的是a十a不是a*a,即当a= 2时,aa = 22;如果是乘法会加“*”的。

#include <stdio.h>
int main()
{
    int a, n, i, j = 0, s = 0;
    scanf("%d %d", &a, &n);
    for(i = 0; i < n; i++)
    {
        j = j * 10 +a;
        s += j;
    }
    printf("s = %d", s);
    return 0;
}

习题4-5 换硬币 (20 分)

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

输入格式:

输入在一行中给出待换的零钱数额x∈(8,100)。

输出格式:

要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。

输入样例:

13

输出样例:

fen5:2, fen2:1, fen1:1, total:4
fen5:1, fen2:3, fen1:2, total:6
fen5:1, fen2:2, fen1:4, total:7
fen5:1, fen2:1, fen1:6, total:8
count = 4

//理解错误:题中的零钱数额x的单位为分,从输出样例可以看出? ? ? ? ? ? ?2.k的值可由i、j得到,它们之间有关系式 x - i*5 + j * 2 == k;这样可以少写一个for循环

#include <stdio.h>
int main()
{
    int x;
    int total = 0, count = 0;
    int i, j, k;
    scanf("%d", &x);
    for(i = (x - 2 - 1) / 5; i >= 1 ; i--)
    {
        for(j = (x - i * 5 - 1) / 2; j >= 1; j--)
        {
            k = (x - i * 5 - j * 2);
            if(i * 5 + j * 2 + k * 1 == x)
            {    
                 total = i + j + k;   
                 printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", i, j, k, total);   
                 total = 0;
                    count++;   
                
            }    
        }
    }
    printf("count = %d", count);
    return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:38:43  更:2022-02-06 13:39:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:04:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码