c语言程序设计精髓第四章编程题
1 分数比较(4分)
题目内容:
利用人工方式比较分数大小的最常见的方法是:对分数进行通分后比较分子的大小。请编程模拟手工比较两个分数的大小。首先输入两个分数分子分母的值,例如"11/13,17/19",比较分数大小后输出相应的提示信息。例如,第一个分数11/13小于第二个分数17/19,则输出"11/13<17/19"。
程序的运行结果示例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
输入提示信息:"Input a/b, c/d:" (注意:逗号后面有一个空格)
输入格式: "%d/%d,%d/%d"
输出格式:
比较的结果是大于:"%d/%d>%d/%d\n"
比较的结果是小于:"%d/%d<%d/%d\n"
比较的结果是相等:"%d/%d=%d/%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:500ms内存限制:32000kb
程序:
#include<stdio.h>
int main()
{ int fz1,fz2,fm1,fm2;printf("Input a/b, c/d:");scanf("%d/%d,%d/%d",&fz1,&fm1,&fz2,&fm2);if ((float)fz1/fm1 > (float)fz2/fm2 )printf("%d/%d>%d/%d\n",fz1,fm1,fz2,fm2);else if ((float)fz1/fm1 < (float)fz2/fm2 )printf("%d/%d<%d/%d\n",fz1,fm1,fz2,fm2);else printf("%d/%d=%d/%d\n",fz1,fm1,fz2,fm2);return 0;}
2 存款利率计算器v2.0(4分)
题目内容:
设capital是最初的存款总额(即本金),rate是整存整取的存款年利率,n 是储蓄的年份,deposit是第n年年底账号里的存款总额。已知如下两种本利之和的计算方式:
按复利方式计息的本利之和计算公式为:
按普通计息方式计算本利之和的公式为:
deposit = capital * (1 + rate * n)
编程从键盘输入存钱的本金、存款期限以及年利率,然后再输入按何种方式计息,最后再计算并输出到期时能从银行得到的本利之和,要求结果保留到小数点后4位。
提示:使用数学函数需要加入头文件 <math.h>
程序的运行结果示例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
输入提示信息:"Input rate, year, capital:"
输入提示信息:"Compound interest (Y/N)?"
本金、存款期限以及年利率的输入格式: "%lf,%d,%lf"
是否选择复利计算的输入格式: " %c" (注意:%c的前面有一个空格。输入的字符大小写皆可,即Y或y,N或n皆可)
输出格式:"deposit = %.4f\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:500ms内存限制:32000kb
程序:
#include <stdio.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;
}
3 存款利率计算器v3.0(9分)
题目内容:
设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位。
程序的运行结果示例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!
输入提示信息:"Input capital, year:"
输入提示信息:"Compound interest (Y/N)?"
存期输入错误的提示信息: "Error year!\n"
本金及存款期限的输入格式: "%lf,%d"
是否选择复利计算的输入格式: " %c" (注意:%c的前面有一个空格。输入的字符大小写皆可,即Y或y,N或n皆可)
输出格式:"rate = %.4f, deposit = %.4f\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:500ms内存限制:32000kb
程序:
#include <stdio.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;
}
4 博弈论之Best Response(6分)
题目内容:
在博弈论中,有一种决策称为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是哪种模式。
注: 程序中使用的数据类型为float
程序运行结果示例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!
输入提示信息:"Input percent of A and B:"
输入格式: "%f%f"
输出格式:"compete = %.4f\nstandard = %.4f\n"
输出提示信息:"The Best Response is compete!"
输出提示信息:"The Best Response is standard!"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:500ms内存限制:32000kb
程序:
#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;
}
c语言程序设计精髓第四章编程题相关推荐
- 价格优惠的C语言程序,c语言程序设计精髓第三章编程题
1 学分绩计算(3分) 题目内容: 已知某大学期末考试学分绩的计算公式为:学分绩 =(工科数学 * 5 + 英语 * 1.5 + 线性代数 * 3.5) / 10 请编程从键盘按顺序输入某学生的工科数 ...
- 哈工大C语言程序设计精髓 第十一周编程题
C语言程序设计精髓 第十一周 指针的孪生兄弟 从这一章开始难度才算是真正开始加大了,前面可以说都在过家家. 练兵区--编程题--不计入总分 1找出按字典顺序排在最前面的国名(4分) 题目内容: 输入5 ...
- 2020年哈尔滨工业大学C语言程序设计精髓 第四周练兵编程题
/本文为原创内容,C语言练习试题适用参考学习,因为全为自己编写可能没有按照标准答案或者含有使可读性减少的步骤,有不对的地方希望各位指出/ 1 检测用户错误输入(4分) 题目内容: 根据scanf()的 ...
- 哈工大c语言编程题中国大学mooc第四周,中国大学MOOC哈工大C语言程序设计精髓第六周编程题答案.doc...
下面代码的功能是将百分制成绩转换为 5 分制成绩,具体功能是: 如果用户输入的是 非法 字符或者不在合理区间内的数据 (例如输入的是 a,或者 102 ,或-45 等),则程序输出 Input err ...
- 2020年MOOCC语言程序设计精髓第十四周编程题练兵
2字符串中的字符排序 题目内容: 编写一个函数,对一个字符串中的字符进行升序排序,并输出字符排序后的字符串,字符串长度小于20. 程序运行结果如下: Input a string: friend↙ d ...
- python语言程序设计2019版第二章课后答案-《python语言程序设计》_第二章编程题...
2.1 程序: Celsius=eval(input("Enter a degree in Celsius:")) #输入摄氏度的值Celsius fahrenheit =(9/5 ...
- python语言程序设计编程题_《python语言程序设计》_第一章编程题
题目1.1 :显示"welcome to python " 答案:print('welcome to python') 题目1.2:显示"welcome to pytho ...
- C语言2020年作业,2020年哈尔滨工业大学C语言程序设计精髓 第七周编程题作业
/加油加油,这周的题目不难,大家仔细听课就可以做出来!/ 1 n层嵌套平方根的计算(4分) 题目内容: 编写程序利用递归法实现如下所示n层嵌套平方根的计算: 递归函数原型:double Y(doubl ...
- c语言程序设计 cap 翁恺,GPS数据处理 翁恺老师C语言程序设计CAP第10章编程题
NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Elect ...
- 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第7章】
全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第7章): [7.14] 下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正. int fun (int ...
最新文章
- 这些编程语言程序员工资最高!Java才第四
- 关于DWG文件转换成PDF
- ultraMaskedEdit使用心得
- Regular in UltraEdit
- CUDA内存分配、释放、传输,固定内存
- 将ONNX对象检测模型转换为iOS Core ML(一)
- idea 删除 output directory文件_郑州Java培训新手必知的IDEA高频快捷键
- 机器学习项目必经十大磨难,看看自己渡过几劫了?
- 【cf789D】Weird journey(欧拉路、计数)
- Web API开发实例——对产品Product进行增删改查
- 计算机房的标准和规定,机房建设标准和规范.doc
- 《CSS权威指南》读书笔记4
- Lab3-实现计划项app辅助类实现
- 仿bilibili微信小程序2
- WPF 使用 Direct2D1 画图入门
- TestCenter测试管理工具功能详解七(L)
- 免费屏幕录制程序都不用
- 中专生计算机基础知识论文3000字,计算机中专毕业论文3000字
- php xmp,xmp1和2模式区别有哪些
- 漏洞复现篇——利用XSS漏洞实现键盘记录
热门文章
- 边缘计算介绍以及几款边缘计算开源平台
- 数字电路设计的基本方法有哪些
- 学习记录:自平衡莱洛三角形v1(原理,代码)学习记录(一)
- 计算机应用中格式刷怎么用,如何连续使用格式刷【搞定手段】
- linux怎么用水星无线,用手机设置水星路由器步骤_手机设置mercury无线路由器-192路由网...
- 对话Oneledger联合创始人Edwin Zhang
- Sphinx 全文搜索引擎 介绍指南
- Tomcat 安装Namecheap SSL证书教程
- 曾号称永久免费的知名国产浏览器推出 VIP 会员模式,网友吵翻天
- 如何打开计算机控制面板,控制面板怎么打开?