慕课哈工大c语言程序设计精髓第4周编程题在线测试_a13298411797的博客-程序员秘密

技术标签: 慕课哈工大c语言习题  

1分数比较

题目内容:

利用人工方式比较分数大小的最常见的方法是:对分数进行通分后比较分子的大小。请编程模拟手工比较两个分数的大小。首先输入两个分数分子分母的值,例如"11/13,17/19",比较分数大小后输出相应的提示信息。例如,第一个分数11/13小于第二个分数17/19,则输出"11/13<17/19"。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a1,a2,b1,b2;
    printf("Input a/b, c/d:");
    scanf("%d/%d,%d/%d",&a1,&a2,&b1,&b2);
    if(a1*b2>a2*b1)
    {
        printf("%d/%d>%d/%d\n",a1,a2,b1,b2);
    }
    else if(a1*b2<a2*b1)
    {
        printf("%d/%d<%d/%d\n",a1,a2,b1,b2);
    }
    else printf("%d/%d=%d/%d\n",a1,a2,b1,b2);
    return 0;
}

程序的运行结果示例1:

输入

Input a/b, c/d:11/13,17/19

输出

11/13<17/19

程序的运行结果示例2:

输入

Input a/b, c/d:17/19,23/27

输出

17/19>23/27

程序的运行结果示例3:

输入

Input a/b, c/d:3/4,18/24

输出

3/4=18/24

 

2存款利率计算器v2.0

题目内容:

 设capital是最初的存款总额(即本金),rate是整存整取的存款年利率,n 是储蓄的年份,deposit是第n年年底账号里的存款总额。已知如下两种本利之和的计算方式:

  • 按复利方式计息的本利之和计算公式为:

  • 按普通计息方式计算本利之和的公式为:deposit  =  capital  * (1 + rate * n)

编程从键盘输入存钱的本金、存款期限以及年利率,然后再输入按何种方式计息,最后再计算并输出到期时能从银行得到的本利之和,要求结果保留到小数点后4位。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int year;
    double mon,rate;
    char choice;
    printf("Input rate, year, capital:");
    scanf("%lf,%d,%lf",&rate,&year,&mon);
    printf("Compound interest (Y/N)?");
    scanf(" %c",&choice);
    if(choice=='y' || choice=='Y')
    {
        printf("deposit = %.4f\n",mon*pow((1+rate),year));
    }
    else printf("deposit = %.4f\n",mon*(1+rate*year));
    return 0;
}

程序的运行结果示例1:

输入

Input rate, year, capital:0.0225,2,10000

Compound interest (Y/N)?Y

输出

deposit = 10455.0625

程序的运行结果示例2:

输入

Input rate, year, capital:0.0225,2,10000

Compound interest (Y/N)?n

输出

deposit = 10450.0000

 

3存款利率计算器v3.0

题目内容:

设capital是最初的存款总额(即本金),rate是整存整取的存款年利率,n 是储蓄的年份,deposit是第n年年底账号里的存款总额。已知如下两种本利之和的计算方式:

  • 按复利方式计息的本利之和计算公式为:

  • 按普通计息方式计算本利之和的公式为:

              deposit  =  capital  * (1 + rate * n)

已知银行整存整取不同期限存款的年息利率分别为:

存期1年,利率为 0.0225

存期2年,利率为 0.0243

存期3年,利率为 0.0270

存期5年,利率为 0.0288

存期8年,利率为 0.0300

若输入其他年份,则输出"Error year!"

编程从键盘输入存钱的本金和存款期限,然后再输入按何种方式计息,最后再计算并输出到期时能从银行得到的本利之和,要求结果保留到小数点后4位。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int year;
    double mon,rate;
    char choice;
    printf("Input capital, year:");
    scanf("%lf,%d",&mon,&year);
    printf("Compound interest (Y/N)?");
    scanf(" %c",&choice);
    if(choice=='y' || choice=='Y')
    {
        switch(year)
        {
        case 1:
            rate=0.0225;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*pow((1+rate),year));
            break;
        case 2:
            rate=0.0243;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*pow((1+rate),year));
            break;

        case 3:
            rate=0.0270;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*pow((1+rate),year));
            break;

        case 5:
            rate=0.0288;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*pow((1+rate),year));
            break;

        case 8:
            rate=0.0300;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*pow((1+rate),year));
            break;
        default:
            printf("Error year!\n");
            break;
        }
    }
    else
    {switch(year)
        {
        case 1:
            rate=0.0225;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*(1+rate*year));
            break;
        case 2:
            rate=0.0243;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*(1+rate*year));
            break;

        case 3:
            rate=0.0270;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*(1+rate*year));
            break;

        case 5:
            rate=0.0288;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*(1+rate*year));
            break;

        case 8:
            rate=0.0300;
            printf("rate = %.4f, deposit = %.4f\n",rate,mon*(1+rate*year));
            break;
        default:
            printf("Error year!\n");
            break;
        }
    }
    return 0;
}

程序的运行结果示例1:

输入

Input capital, year:10000,2

Compound interest (Y/N)?Y

输出

rate = 0.0243, deposit = 10491.9049

程序的运行结果示例2:

输入

Input capital, year:10000,2

Compound interest (Y/N)?n

输出

rate = 0.0243, deposit = 10486.0000

程序的运行结果示例3:

输入

Input capital, year:1000,4

Compound interest (Y/N)?y

输入

Error year!

 

4博弈论之Best Response

题目内容:

在博弈论中,有一种决策称为Best Response,通俗的意思就是选择一种策略使得团体利益最大化。C语言学习成绩的评定方式分为两种,一种是自由刷题模式(compete),没有固定标准,刷题越多者排名越靠前,其期末分数越高;另一种是规定每个人必须做够多少道题(standard),达到要求就能取得相应分数。

假设一个班级中的学生分为A、B两类,A类同学学习热情很高,乐于做题,采用compete模式可以获得成就感并且在期末拿到高分,compete模式可以让他们有10分的收益;采用standard模式他们也可以在期末拿到高分,但不能满足他们的求知欲,standard模式可以让他们有8分的收益。B类同学仅仅希望期末拿高分,如果采用compete模式,他们竞争不过A类同学,期末成绩不理想,因此compete模式能给他们6分的收益;如果采用standard模式,他们可以完成规定任务并拿到高分,因此standard模式可以让他们有10分的收益。

编程输入A类和B类同学分别占班级总人数的百分比,分别计算并输出采用compete和standard两种刷题模式下的全班总收益,并输出这个班级在这场博弈中的Best Response是哪种模式。

程序运行结果示例1:

Input percent of A and B:0.2 0.8

compete = 6.8000

standard = 9.6000

The Best Response is standard!

程序运行结果示例2:

Input percent of A and B:0.8 0.2

compete = 9.2000

standard = 8.4000

The Best Response is compete!

程序运行结果示例3:

Input percent of A and B:0.5 0.5

compete = 8.0000

standard = 9.0000

The Best Response is standard!

#include <stdio.h>
int main()
{
    float a,b,com,sta;
    printf("Input percent of A and B:");
    scanf("%f%f",&a,&b);
    com=10*a+6*b;
    sta=8*a+10*b;
    printf("compete = %.4f\nstandard = %.4f\n",com,sta);
    if(com>sta)
    {
        printf("The Best Response is compete!");
    }
    else printf("The Best Response is standard!");
    return 0;
}

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a13298411797/article/details/86604650

智能推荐

Android 网页抓取(实现新闻客户端)_android爬取网页新闻_000wen_Android的博客-程序员秘密

Android 网页抓取(实现新闻客户端)文章摘自:http://gqdy365.iteye.com/blog/2104046如何实现从各大网抓取新闻并经过格式处理现实到我们的新闻客户端呢?Android客户端抓取并解析网页的方法我用到的有两种:一、用jsoup没仔细研究,网上有类似的,可以参考这两位兄弟的:http://decentway.iteye.

宏病毒的研究与实例分析03——宏病毒处理篇_鬼手56的博客-程序员秘密

文章目录宏病毒处理思路破坏宏标志宏清除脚本手工清理宏(针对* .DOCM和* .XLSM文档)替换宏代码说明在前一章我们解析了宏病毒的二进制格式,本篇紧跟上文,利用宏病毒的二进制格式清除宏病毒。宏病毒处理思路破坏宏标志在解析OLE文件时,我们介绍过Directory,其中其偏移0x42H这个字节的表示DirectoryEntry的类型Type。0为非法,1为目录(storage),2为节点...

基于STC89C52的智能小车——蓝牙遥控篇_FEWGRG的博客-程序员秘密

蓝牙遥控是依靠单片机的串口通讯来实现的功能。这周我主要学习的内容是串口通讯。在完成学习后我用之前买避障小车时顺便买的蓝牙模块做了一个升级版智能小车,它可以通过蓝牙模块实现避障模式与蓝牙遥控模式的切换以及速度的调整。蓝牙模块的接线:将vcc与gnd接在单片机最小系统的5v供电口上,将txd和rxd分别接在单片机的rxd与txd上下面是程序(头文件之前的笔记中有,在此不做赘述了)#include &lt;REGX52.H&gt;#include "direction.h"#include "cd.h"

第六章文件管理_Xzzz2020的博客-程序员秘密

文章目录文件及其逻辑结构顺序文件索引文件索引顺序文件直接文件和哈希文件目录的要求文件的物理结构(***)连续分配链接分配索引分配空闲空间管理空闲表法空闲链表法位视图法(***)成组链表法文件系统软件模型对象及其属性对对象操纵和管理的软件集合文件系统接口文件共享课本习题题目练习文件及其逻辑结构文件概念:由创建者所定义、具有文件名的一组相关元素的集合,可分为结构文件和无结构文件两种。文件逻辑结构概念:文件的逻辑结构是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理

dubbo+springboot分模块项目发布为jar包的方法_陵先生的笔记本的博客-程序员秘密

1.错误复现项目结构如下一开始,直接对生产者进行打包,但打包到一半出错2.正确办法从错误信息可以看出,是service的几个依赖包在本地仓库中没有找到,所以需要【按照依赖顺序】打jar包:service依赖于api,api依赖mapper,mapper依赖common,common依赖entity。所以打包顺序为:entitycommonmapperapiservicecenter-web(里面放置的是controller)3具体操作3.1.打entity的jar包先cle

GDAL教程(一)查看帮助文档_gdal官网_之乎者也哦的博客-程序员秘密

一、在GDAL官网https://www.gdal.org/可以查看英文帮助。二、Main Page主页1.开头介绍了什么是GDAL(Geospatial Data Abstraction Library地理空间数据抽象库)以及GDAL源码各个版本的下载链接。2.User Oriented Documentation使用定向的文档:这里说的“定向”是指GDAL按照不同的需要为用户提...

随便推点

[pycharm] 行号栏太宽_pycharm里行号太宽怎么_ASR_THU的博客-程序员秘密

行号栏太宽会挤占屏幕,进入setting设置取消gutter icons:新的行号栏:

Windows画图白板源码 C#编程电子白板_shangdaoxi的博客-程序员秘密

 DrawTools,用c#开发的一款小巧实用的绘图软件。此资源是其详细的源代码,采用C#2005开发,希望给大家提供参考!如果有爱好这方面的朋友可以加我好友,大家一起讨论 http://hi.csdn.net/link.php?url=http://shangdaoxi.download.csdn.net

学习笔记:MIPS 交叉编译GLIB_glib mips 架构_wch3535的博客-程序员秘密

<br />1、echo ac_cv_type_long_long=yes>mips-linux.cache;echo glib_cv_long_long_format=ll>>mips-linux.cache;echo glib_cv_stack_grows=no>>mips-linux.cache;echo glib_cv_uscore=no>>mips-linux.cache;echo ac_cv_func_posix_getpwuid_r=yes>>mips-linux.cache;echo ac_

测试TensorFlow是否安装成功_DilrabaDilmurat的博客-程序员秘密

(base) C:\Users\联想&gt;PythonPython 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32Type "help", "copyright", "credits" or "license" for more information.Failed calling sys.__interactivehook__Traceback (most.

单源最短路径---Dijkstra算法_fuckguidao的博客-程序员秘密

有这样一道题:在一个图(如图所示)中,一共有四个点:1 2 3 4这四个点之间各有相连,且每条边都有自己的权值。现在小明在点1上,他想要到3去,请问最短路径是多少。很容易得到该图的邻接矩阵。我们建立一个二维数组a。a[i][j],i表示 起点,为行,j表示终点,为列。将相应的权值传入其中,如果从一个 点到另一个点不通,就认为其权值为无限例如(1-》2)为2,则a...

ImportError: No module named 'rospkg'_xf78d的博客-程序员秘密

$ roscoreTraceback (most recent call last): File "/opt/ros/kinetic/bin/roscore", line 69, in &lt;module&gt; import roslaunch File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__ini...

推荐文章

热门文章

相关标签