C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计(三)

简介: C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计(三)

002666bd14564c568b6d93f837bf754f.jpg

一、实验目的

(1) 掌握c语言中使用最多的一种语句一赋值语句的使用方法。

(2) 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

(3) 进一步掌握编写程序和调试程序的方法。


二、 实验内容



d149455c4ae84b6a9efd03e321b86891.jpg


2.3、计算存款利息


(3)计算存款利息

有1000元,想存5年,可按以下5种办法存:

① 一次存5年期。

② 先存2年期,到期后将本息再存3年期。

③ 先存3年期,到期后将本息再存2年期。

④ 存1年期,到期后将本息存再存1年期,连续存5次。

⑤ 存活期存款。活期利息每一季度结算一次。

银行存款利率:请去银行査当日利率。

计算利息的公式如下

1年期定期存款利息为4.14%;

2年期定期存款利息为4.68%,

3年期定期存款利息为5.4%;

5年期定期存款利息为5.85%;

活期存款利息为0.72%(活期存款每一季度结算一次利息)。


如果r为年利率,n为存款年数,则计算本息和的公式为

1年期本息和:p=1000×(l + r);

n年期本息和:p=1000×(l + n×r);

存n次1年期的本息和:p=1000×(1+r)^n

活期存款本息和:p=1000× (1+r/4)^4n

说明:1000×(1+r/4)是一个季度的本息和。


三、 实验步骤

e13788a65b58407ca3b2718c3403abc9.jpg


3.3、顺序程序设计实验题目3:计算存款利息的实验步骤


(3)计算存款利息

有1000元,想存5年,可按以下5种办法存:

① 一次存5年期。

② 先存2年期,到期后将本息再存3年期。

③ 先存3年期,到期后将本息再存2年期。

④ 存1年期,到期后将本息存再存1年期,连续存5次。

⑤ 存活期存款。活期利息每一季度结算一次。

银行存款利率:请去银行査当日利率。

计算利息的公式如下

1年期定期存款利息为4.14%;

2年期定期存款利息为4.68%,

3年期定期存款利息为5.4%;

5年期定期存款利息为5.85%;

活期存款利息为0.72%(活期存款每一季度结算一次利息)。

如果r为年利率,n为存款年数。

则计算本息和公式


1年期本息和:p=1000×(l + r);

n年期本息和:p=1000×(l + n×r);

存n次1年期的本息和:p=1000×(1+r)^n

活期存款本息和:p=1000× (1+r/4)^4n

说明:1000×(1+r/4)是一个季度的本息和。


3.3.1、变量的声明

变量的声明 代码如下所示

// 变量的声明
float r5, r3, r2, r1, r0;   // 定期存款利息
float p, p1, p2, p3, p4, p5;  // 本息和


3.3.2、变量的赋值

变量的赋值 代码如下所示

// 变量的赋值
p = 1000;
r5 = 0.03;
r3 = 0.0275;
r2 = 0.021;
r1 = 0.015;
r0 = 0.0035;


3.3.3、计算五种方案得到的本息和

计算五种方案得到的本息和 代码如下所示

  // 计算五种方案得到的本息和
  p1 = p * (1 + r5 * 5);          //一次存5年期
  p2 = p * (1 + 2 * r2) * (1 + 3 * r3); //先存2年期,到期后将本息再存3年期
  p3 = p * (1 + 3 * r3) * (1 + 2 * r2); //先存3年期,到期后将本息再存2年期
  p4 = p * pow(1 + r1, 5);        //存1年期,到期后将本息再存1年期,连续存5次
  p5 = p * pow(1 + r0 / 4, 4 * 5);    //存活期存款,活期利息每一季度结算一次


3.3.4、输出五种方案得到的本息和

输出五种方案得到的本息和 代码如下所示

  // 输出五种方案得到的本息和
  printf("p1= %f\n", p1);         //输出按第1种方案得到的本息和
  printf("p2= %f\n", p2);         //输出按第2种方案得到的本息和
  printf("p3= %f\n", p3);         //输出按第3种方案得到的本息和
  printf("p4= %f\n", p4);         //输出按第4种方案得到的本息和
  printf("p5= %f\n", p5);         //输出按第5种方案得到的本息和

3.3.5、程序运行结果

计算存款利息的实验运行结果如下所示

0806ac4fdd9840648b6761daca9e1813.png

可以看到第一种方案的本息和是最高的。


输出运行结果时,得到6位小数,连同整数部分有10 位数字,而一个float 型变量只能保证6位有效数字,后面几位是无意义的。而且在输出款额时,入们一般只要求精确到两位小数(角、分),因此可以在printf 函数中用%10.2格式符输出。

最后5个语句可改为如下所示

  // 输出五种方案得到的本息和
  printf("p1=%10.2f\n", p1); //输出按第1种方案得到的本息和
  printf("p2=%10.2f\n", p2); //输出按第2种方案得到的本息和
  printf("p3=%10.2f\n", p3); //输出按第3种方案得到的本息和
  printf("p4=%10.2f\n", p4); //输出按第4种方案得到的本息和
  printf("p5=%10.2f\n", p5); //输出按第5种方案得到的本息和

运行结果如下所示


d629417a7bf249918db22fe7f77456d3.png

四、 实验总结

d39275d2555a44a2943b22e40fcbed8a.jpg


通过本次的实验:C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计(三),掌握了如下的几点。


-(1)掌握c语言中使用最多的一种语句一赋值语句的使用方法。

-(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

-(3)进一步掌握编写程序和调试程序的方法。


五、 实验完整程序


b7db63ecb19e4892854af44514e9e6fb.jpg


blog.csdnimg.cn/ddcfee7b064648b98f1bc79ea1ef8d3f.jpeg#pic_center)


5.3、顺序程序设计实验题目3:计算存款利息的实验完整程序


完整程序如下所示

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
  // 变量的声明
  float r5, r3, r2, r1, r0;   // 定期存款利息
  float p, p1, p2, p3, p4, p5;  // 本息和
  // 变量的赋值
  p = 1000;
  r5 = 0.03;
  r3 = 0.0275;
  r2 = 0.021;
  r1 = 0.015;
  r0 = 0.0035;
  // 计算五种方案得到的本息和
  p1 = p * (1 + r5 * 5);          //一次存5年期
  p2 = p * (1 + 2 * r2) * (1 + 3 * r3); //先存2年期,到期后将本息再存3年期
  p3 = p * (1 + 3 * r3) * (1 + 2 * r2); //先存3年期,到期后将本息再存2年期
  p4 = p * pow(1 + r1, 5);        //存1年期,到期后将本息再存1年期,连续存5次
  p5 = p * pow(1 + r0 / 4, 4 * 5);    //存活期存款,活期利息每一季度结算一次
  // 输出五种方案得到的本息和
  //printf("p1= %f\n", p1);         //输出按第1种方案得到的本息和
  //printf("p2= %f\n", p2);         //输出按第2种方案得到的本息和
  //printf("p3= %f\n", p3);         //输出按第3种方案得到的本息和
  //printf("p4= %f\n", p4);         //输出按第4种方案得到的本息和
  //printf("p5= %f\n", p5);         //输出按第5种方案得到的本息和
  // 输出五种方案得到的本息和
  printf("p1=%10.2f\n", p1); //输出按第1种方案得到的本息和
  printf("p2=%10.2f\n", p2); //输出按第2种方案得到的本息和
  printf("p3=%10.2f\n", p3); //输出按第3种方案得到的本息和
  printf("p4=%10.2f\n", p4); //输出按第4种方案得到的本息和
  printf("p5=%10.2f\n", p5); //输出按第5种方案得到的本息和
  return 0;
}

a6a6a33a937f4dacbeecb8b22683f36c.jpg

相关文章
|
15天前
|
搜索推荐 C语言
【排序算法】快速排序升级版--三路快排详解 + 实现(c语言)
本文介绍了快速排序的升级版——三路快排。传统快速排序在处理大量相同元素时效率较低,而三路快排通过将数组分为三部分(小于、等于、大于基准值)来优化这一问题。文章详细讲解了三路快排的实现步骤,并提供了完整的代码示例。
41 4
|
26天前
|
存储 算法 数据管理
C语言算法复杂度
【10月更文挑战第20天】
C语言算法复杂度
|
16天前
|
搜索推荐 算法 C语言
【排序算法】八大排序(上)(c语言实现)(附源码)
本文介绍了四种常见的排序算法:冒泡排序、选择排序、插入排序和希尔排序。通过具体的代码实现和测试数据,详细解释了每种算法的工作原理和性能特点。冒泡排序通过不断交换相邻元素来排序,选择排序通过选择最小元素进行交换,插入排序通过逐步插入元素到已排序部分,而希尔排序则是插入排序的改进版,通过预排序使数据更接近有序,从而提高效率。文章最后总结了这四种算法的空间和时间复杂度,以及它们的稳定性。
63 8
|
16天前
|
搜索推荐 算法 C语言
【排序算法】八大排序(下)(c语言实现)(附源码)
本文继续学习并实现了八大排序算法中的后四种:堆排序、快速排序、归并排序和计数排序。详细介绍了每种排序算法的原理、步骤和代码实现,并通过测试数据展示了它们的性能表现。堆排序利用堆的特性进行排序,快速排序通过递归和多种划分方法实现高效排序,归并排序通过分治法将问题分解后再合并,计数排序则通过统计每个元素的出现次数实现非比较排序。最后,文章还对比了这些排序算法在处理一百万个整形数据时的运行时间,帮助读者了解不同算法的优劣。
54 7
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
阿里云人工智能平台 PAI 与复旦大学王鹏教授团队合作,在自然语言处理顶级会议 EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。
|
1月前
|
C语言
大学生期末C语言实验(学生成绩和鞍点)
大学生期末C语言实验(学生成绩和鞍点)
180 0
大学生期末C语言实验(学生成绩和鞍点)
|
1月前
|
存储 算法 C语言
【C语言】二分查找算法
【C语言】二分查找算法
|
1月前
|
搜索推荐 C语言 C++
【C语言】指针篇-精通库中的快速排序算法:巧妙掌握技巧(4/5)
【C语言】指针篇-精通库中的快速排序算法:巧妙掌握技巧(4/5)
|
2月前
|
存储 C语言
C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数
本文详细介绍了C语言中的位运算和文件操作。位运算包括按位与、或、异或、取反、左移和右移等六种运算符及其复合赋值运算符,每种运算符的功能和应用场景都有具体说明。文件操作部分则涵盖了文件的概念、分类、文件类型指针、文件的打开与关闭、读写操作及当前读写位置的调整等内容,提供了丰富的示例帮助理解。通过对本文的学习,读者可以全面掌握C语言中的位运算和文件处理技术。
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
下一篇
无影云桌面