Lazy loaded image
🗒️C 语言 第二批作业——参考答案
字数 3490阅读时长 9 分钟
2024-10-18
2024-11-18
 

C 语言 第二批作业——参考答案


💡
提示:本参考答案,使用了第三章 运算符与表达式 的内容,请注意!!!
⚠️
警告:不要抄,先尝试边理解边调试,不然你永远不会学会!!!

 
 

1.1 题目

 

1.1.1 第一题

 
  1. 定义变量存放学员的五门课成绩,输出成绩的总和及平均值,运行效果如图2-10所示。
notion image
 

1.1.2 第二题

 
  1. 某公司员工的工资计算方式为:养老保险金占工资的5%,医疗保险金占工资的5%,失业保险金占工资的2%,其他杂费占工资的1%,某员工一月份的总工资为3600,要扣除以上几项资金,请计算出该员工的实际工资及各项需要扣除资金的数额,并进行输出(注意输出格式的美观)。运行效果如图2-11所示。
 
notion image
 

1.2 源码和解释代码

1.2.1 第一题

代码解释

  1. #include <stdio.h>
      • 作用:导入标准输入输出库(stdio.h),使得程序可以使用输入输出函数如printf
      • 解释:标准输入输出库提供了读取输入和输出结果的功能。
  1. int main()
      • 作用:定义主函数main,程序从这里开始执行。
      • 解释int表示函数返回类型为整数,main是主函数的名字。
  1. 变量定义
      • int a = 78;
        • 作用:定义一个整型变量a,并初始化其值为78。
      • int b = 86;
        • 作用:定义一个整型变量b,并初始化其值为86。
      • int c = 75;
        • 作用:定义一个整型变量c,并初始化其值为75。
      • int d = 85;
        • 作用:定义一个整型变量d,并初始化其值为85。
      • int e = 83;
        • 作用:定义一个整型变量e,并初始化其值为83。
  1. 定义总成绩和平均成绩
      • double ZhongChengJi = 407.000000;
        • 作用:定义一个双精度浮点型变量ZhongChengJi,并初始化其值为407.000000。
      • double PinJunChengJi = 81.400000;
        • 作用:定义一个双精度浮点型变量PinJunChengJi,并初始化其值为81.400000。
  1. 输出成绩
      • printf("第一门课程成绩 : %d\n", a);
        • 作用:打印字符串"第一门课程成绩 : "后面跟上变量a的值。
      • printf("第二门课程成绩 : %d\n", b);
        • 作用:打印字符串"第二门课程成绩 : "后面跟上变量b的值。
      • printf("第三门课程成绩 : %d\n", c);
        • 作用:打印字符串"第三门课程成绩 : "后面跟上变量c的值。
      • printf("第四门课程成绩 : %d\n", d);
        • 作用:打印字符串"第四门课程成绩 : "后面跟上变量d的值。
      • printf("第五门课程成绩 : %d\n", e);
        • 作用:打印字符串"第五门课程成绩 : "后面跟上变量e的值。
  1. 输出总成绩和平均成绩
      • printf("五门课的总成绩是:%lf,平均成绩是:%lf.\n", ZhongChengJi, PinJunChengJi);
        • 作用:打印字符串"五门课的总成绩是:", 后面跟上变量ZhongChengJi的值,接着打印字符串",平均成绩是:", 再跟上变量PinJunChengJi的值。
  1. return 0;
      • 作用:主函数返回0,表示程序正常结束。
      • 解释:0表示成功,非0表示异常。

总结

通过上述解释,您可以了解到这个简单的C语言程序是如何定义变量、使用printf函数输出信息,并最终返回0来表示程序的正常结束。这个程序展示了C语言的一些基本语法和功能。
 
 

1.2.2 第二题

代码解释

  1. #include <stdio.h>
      • 作用:导入标准输入输出库(stdio.h),使得程序可以使用输入输出函数如printf
      • 解释:标准输入输出库提供了读取输入和输出结果的功能。
  1. int main()
      • 作用:定义主函数main,程序从这里开始执行。
      • 解释int表示函数返回类型为整数,main是主函数的名字。
  1. 变量定义
      • double gongZi = 3600;
        • 作用:定义一个双精度浮点型变量gongZi,并初始化其值为3600。
      • double yangLaoFeiYong = 180.00;
        • 作用:定义一个双精度浮点型变量yangLaoFeiYong,并初始化其值为180.00(表示养老保险费用)。
      • double yiLiaoFeiYong = 180.00;
        • 作用:定义一个双精度浮点型变量yiLiaoFeiYong,并初始化其值为180.00(表示医疗保险费用)。
      • double shiYeFeiYong = 72.00;
        • 作用:定义一个双精度浮点型变量shiYeFeiYong,并初始化其值为72.00(表示失业保险费用)。
      • double qiTaFeiYong = 36.00;
        • 作用:定义一个双精度浮点型变量qiTaFeiYong,并初始化其值为36.00(表示其他费用)。
      • double shiJiGongZi = 3132.00;
        • 作用:定义一个双精度浮点型变量shiJiGongZi,并初始化其值为3132.00(表示实际工资)。
  1. 输出各项费用和实际工资
      • printf("要扣除的费用分别是:\n");
        • 作用:打印一行提示文字。
      • printf("\t 养老保险: %lf\n", yangLaoFeiYong);
        • 作用:打印养老保险费用。
      • printf("\t 医疗保险: %lf\n", yiLiaoFeiYong);
        • 作用:打印医疗保险费用。
      • printf("\t 失业保险: %lf\n", shiYeFeiYong);
        • 作用:打印失业保险费用。
      • printf("\t 其他费用: %lf\n", qiTaFeiYong);
        • 作用:打印其他费用。
      • printf("\t 实际工资是: %lf\n", shiJiGongZi);
        • 作用:打印实际工资。
  1. return 0;
      • 作用:主函数返回0,表示程序正常结束。
      • 解释:0表示成功,非0表示异常。

总结

通过上述解释,您可以了解到这个简单的C语言程序是如何定义变量、使用printf函数输出各项费用和实际工资的。这个程序展示了C语言的一些基本语法和功能。
 
 

1.3 使用第三章 运算符与表达式 的内容 计算实际工资

1.3.1 第二题

代码解释

  1. #include <stdio.h>
      • 作用:导入标准输入输出库(stdio.h),使得程序可以使用输入输出函数如printf
      • 解释:标准输入输出库提供了读取输入和输出结果的功能。
  1. int main()
      • 作用:定义主函数main,程序从这里开始执行。
      • 解释int表示函数返回类型为整数,main是主函数的名字。
  1. 变量定义
      • double gongZi = 3600;
        • 作用:定义一个双精度浮点型变量gongZi,并初始化其值为3600。
      • double yangLaoBiaoZhun = 0.05;
        • 作用:定义一个双精度浮点型变量yangLaoBiaoZhun,并初始化其值为0.05(表示养老保险的比例为5%)。
      • double YiLiaoBiaoZhun = 0.05;
        • 作用:定义一个双精度浮点型变量YiLiaoBiaoZhun,并初始化其值为0.05(表示医疗保险的比例为5%)。
      • double ShiYeBiaoZhun = 0.02;
        • 作用:定义一个双精度浮点型变量ShiYeBiaoZhun,并初始化其值为0.02(表示失业保险的比例为2%)。
      • double QiTaBiaoZhun = 0.01;
        • 作用:定义一个双精度浮点型变量QiTaBiaoZhun,并初始化其值为0.01(表示其他费用的比例为1%)。
  1. 计算各项费用
      • double yangLaoFeiYong = gongZi * yangLaoBiaoZhun;
        • 作用:计算养老保险费用。
      • double yiLiaoFeiYong = gongZi * YiLiaoBiaoZhun;
        • 作用:计算医疗保险费用。
      • double shiYeFeiYong = gongZi * ShiYeBiaoZhun;
        • 作用:计算失业保险费用。
      • double qiTaFeiYong = gongZi * QiTaBiaoZhun;
        • 作用:计算其他费用。
  1. 计算实际工资
      • double shiJiGongZi = gongZi - yangLaoFeiYong - yiLiaoFeiYong - shiYeFeiYong - qiTaFeiYong;
        • 作用:计算实际工资,即工资减去所有扣除的费用。
  1. 输出各项费用和实际工资
      • printf("要扣除的费用分别是:\n");
        • 作用:打印一行提示文字。
      • printf("\t 养老保险: %lf\n", yangLaoFeiYong);
        • 作用:打印养老保险费用。
      • printf("\t 医疗保险: %lf\n", yiLiaoFeiYong);
        • 作用:打印医疗保险费用。
      • printf("\t 失业保险: %lf\n", shiYeFeiYong);
        • 作用:打印失业保险费用。
      • printf("\t 其他费用: %lf\n", qiTaFeiYong);
        • 作用:打印其他费用。
      • printf("\t 实际工资是: %lf\n", shiJiGongZi);
        • 作用:打印实际工资。
  1. return 0;
      • 作用:主函数返回0,表示程序正常结束。
      • 解释:0表示成功,非0表示异常。
 

优缺点分析

 

第一种实现方式的优点:

  1. 简单直接
      • 直接给出费用金额,代码更简洁明了。
  1. 减少计算
      • 不需要进行额外的计算,减少了计算开销。

第一种实现方式的缺点:

  1. 缺乏灵活性
      • 如果需要调整费用金额,需要重新手动设置每个费用项的值。
      • 当费用比例发生变化时,需要重新计算费用金额,并更新代码。
  1. 难以扩展
      • 如果需要增加或减少费用项,需要手动添加或删除费用项和实际工资的计算。
 

第二种实现方式的优点:

  1. 可扩展性
      • 当需要调整费用比例时,只需要修改比例变量即可,无需重新计算费用。
      • 如果将来需要增加或减少费用项,只需相应地增加或减少比例变量和计算公式即可。
  1. 准确性
      • 通过计算得出费用金额,可以确保费用计算的准确性。
  1. 灵活性
      • 可以更容易地调整费用比例,而不需要重新计算费用金额。

第二种实现方式的缺点:

  1. 计算开销
      • 每次计算费用都需要进行乘法运算,可能会略微增加计算开销。
  1. 初始设定
      • 需要预先知道费用比例,如果比例不确定,则需要先确定后再进行编程。

总结

第一种实现方式更适合需要灵活调整费用比例的情况,它提高了代码的可维护性和可扩展性。第二种实现方式则适用于固定费用金额的情况,代码更为简单直接。具体选择哪种方式取决于实际应用场景的需求。
 

1.4 源码下载

 
 
上一篇
实验名称:实验一 优化制作新闻详情页———参考答案
下一篇
HTML 表格与列表

评论
Loading...