C博客作业01--分支、顺序结构

C博客作业01--分支、顺序结构

1.1思维导图

总结本周的学习内容,如下图所示:
1476233-20181008172539792-965491415.png

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

因为之前自己提前看过翁恺老师的视频,这周所学的比较轻松。但在课堂上,仍然收获了很多小小的细节,比如驼峰命名法;if-else语句的格式取两位小数时会不会四舍五入等。这些能让我写的代码更容易被其他人读懂,也开阔了自己的思维,慢慢学会多去问一些为什么,多去试试其他的可能性。
还有,可能因为有一段时间(接近半个月)没敲代码,所以一些比如scanf里面的&经常被忘记,以后要多多敲代码啊。

1.2.2 代码累计

1476233-20181008172503271-2077577950.png

2.PTA总分

2.1截图展示

1476233-20181008172807531-1327406895.png
1476233-20181008172912636-1705970296.png

2.2 我的总分:

PTA总分:225分

PTA实验作业

3.1 PTA题目1

请编写程序,根据活动经费和U盘单价预估可购买U盘的最大数量。
3.1.1 算法分析
- 1.需要的变量:经费money、U盘单价price、U盘数量number;
- 2.用double定义经费money和U盘单价price,用int定义U盘数量number;
- 3.输入经费和U盘单价。
- 4.代入表达式:number=money/price+0.0000001。(注意double的精度缺陷)
- 输出最大U盘数量。
3.1.2 代码截图

1476233-20181008181747615-626373074.png

3.1.3 测试数据

1476233-20181008182930654-910967952.png

3.1.4 PTA提交列表及说明

1476233-20181008183046277-265401242.png

  • Q1:为什么只是部分正确,我感觉我写的很对???
  • A1:double本身精度存在缺陷,需要手动补偿。(当时刚提交一次之后就和舍友谈论,试了好几个点之后还是错。然后第二天看到有人满分了,就屁颠屁颠地去求助大佬啦)

    3.2 PTA题目2

    题目简介:
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
3.2.1 算法分析
- 1.定义路程和等待时间。
- 2.输入路程和等待时间
- 3.若路程<=3公里,车费=10+等待时间/5*2;
- 4.若3公里<路程<=10公里,车费=10+2*(路程-3)+等待时间/5*2;;
- 5.若路程>10公里,车费=10+2*(路程-3)+2*0.5*(路程-10)+等待时间/5*2;;
- 6.输出车费。
3.2.2 代码截图

1476233-20181010164551881-255982624.png

3.2.3 测试数据

1476233-20181010170405708-126445568.png

3.2.4 PTA提交列表及说明

1476233-20181010170444700-1289085930.png
(不要看提交列表就俩,鬼知道我在Dev-C++上有多绝望!!)

  • Q1:对于题目说的时间问题,刚开始是想先用if语句判断时间是否为0,后来发现根本不行。。头大。
  • A1:后来看到闲着无聊就去看了一下自己之前写的的笔记,看到整数除以整数,结果只取整数,就想到了。
  • Q2:对题目不理解。
  • Q2:先不敲代码,在纸上先解出这个数学题,写成分段函数,就好啦。

    3.3 PTA题目3

    题目简介
本题要求编写程序计算某年某月某日是该年中的第几天。
3.3.1 算法分析
- 1.定义年、月、日;
- 2.输入年、月、日;
- 3.首先判断年是否为闰年,即该年年份能被4整除且不能被100整除、或者能被400整除。
- 4.若为闰年:
     - 若月为一月,则天数=日;
     - 若月为二月,则天数=日+31;
     - 若月为一月,则天数=日+31+29;
     - 若月为一月,则天数=日+31*2+29;
     - 若月为一月,则天数=日+31*2+29+30;
     - 若月为一月,则天数=日+31*3+29+30;
     - 若月为一月,则天数=日+31*3+29+30*2;
     - 若月为一月,则天数=日+31*4+29+30*2;
     - 若月为一月,则天数=日+31*5+29+30*2;
     - 若月为一月,则天数=日+31*5+29+30*3;
     - 若月为一月,则天数=日+31*6+29+30*3;
     - 若月为一月,则天数=日+31*6+29+30*4;
- 5.若不为闰年:
     - 若月为一月,则天数=日;
     - 若月为二月,则天数=日+31;
     - 若月为一月,则天数=日+31+28;
     - 若月为一月,则天数=日+31*2+28;
     - 若月为一月,则天数=日+31*2+28+30;
     - 若月为一月,则天数=日+31*3+28+30;
     - 若月为一月,则天数=日+31*3+28+30*2;
     - 若月为一月,则天数=日+31*4+28+30*2;
     - 若月为一月,则天数=日+31*5+28+30*2;
     - 若月为一月,则天数=日+31*5+28+30*3;
     - 若月为一月,则天数=日+31*6+28+30*3;
     - 若月为一月,则天数=日+31*6+28+30*4;
- 6.输出天数.
3.3.2 代码截图

1476233-20181010173055199-1172642950.png
1476233-20181010173136154-700773198.png
1476233-20181010173201502-272146491.png
(呼,不得不说,这个真的是很长的一串代码。)

3.3.3 测试数据

1476233-20181010175116498-1623882626.png

3.2.4 PTA提交列表及说明

1476233-20181010175206746-1446176842.png
(没错,我又是在Dev-C++上写好了再搬过去的)
Q1:有点纠结输入里面的“/”符号的输入,是可以直接输入,还是再定义两个字符?
A2:老师上课说过,scanf里面的非格式符要原样输出(居然忘了!!)
Q2:这个程序不难,但是我写了很长,而且很大一部分几乎是重复的,有什么办法可以解决?
A2:下面是我在逛博客里面看到严威和林玮璐同学的代码,我觉得思路更清晰,明显比我的简洁!!!
严威同学的代码:
1476233-20181010175719943-1276642236.jpg
林玮璐同学
1476233-20181010181523326-1657065136.png

4.点评同学博客

1.

1476233-20181010181611860-1457793907.png

2.

1476233-20181010182617296-210935878.png

3.

1476233-20181010182710261-1153453034.png

4.

1476233-20181010183408762-1090450003.png

5.

1476233-20181010184235872-1278298321.png

转载于:https://www.cnblogs.com/yhy949/p/9755854.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码下载:完整代码,可直接运行 ;运行版本:2022a或2019b或2014a;若运行有问题,可私信博主; **仿真咨询 1 各类智能优化算法改进及应用** 生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化 **2 机器学习和深度学习方面** 卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断 **3 图像处理方面** 图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知 **4 路径规划方面** 旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化 **5 无人机应用方面** 无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配 **6 无线传感器定位及布局方面** 传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化 **7 信号处理方面** 信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化 **8 电力系统方面** 微电网优化、无功优化、配电网重构、储能配置 **9 元胞自动机方面** 交通流 人群疏散 病毒扩散 晶体生长 **10 雷达方面** 卡尔曼滤波跟踪、航迹关联、航迹融合
顺序栈是一种基于数组实现的栈,它的特点是具有随机存取的特性。顺序栈的基本运算包括进栈、出栈和查看栈顶元素。进栈操作将元素插入到栈顶,出栈操作将栈顶元素删除并返回,查看栈顶元素操作返回栈顶的元素值,但不修改栈的状态。 在C语言中,顺序栈的存储结构可以使用一个一维数组来存放栈中的元素,同时使用一个指示器top来指示栈顶的位置。在进行进栈和出栈操作时,需要更新top的值,使其指向栈顶元素。 下面是一种常见的顺序栈的定义和基本操作的示例代码: ```c // 定义栈中元素的数据类型 typedef int StackElementType; // 定义顺序栈的存储结构 #define Stack_Size 100 // 栈的最大容量 typedef struct { StackElementType elem[Stack_Size]; // 用数组存放栈中元素 int top; // 栈顶指针 } SeqStack; // 初始化顺序栈 void Init_SeqStack(SeqStack *S) { S->top = -1; // 初始时栈为空,栈顶指针置为-1 } // 进栈操作 void Push_SeqStack(SeqStack *S, StackElementType x) { if (S->top == Stack_Size - 1) { printf("栈已满,无法进栈"); return; } S->top++; // 栈顶指针加1 S->elem[S->top] = x; // 将新元素放入栈顶位置 } // 出栈操作 StackElementType Pop_SeqStack(SeqStack *S) { if (S->top == -1) { printf("栈为空,无法出栈"); return -1; // 返回一个特殊值表示出错 } StackElementType x = S->elem[S->top]; // 获取栈顶元素的值 S->top--; // 栈顶指针减1 return x; // 返回栈顶元素的值 } // 查看栈顶元素 StackElementType GetTop_SeqStack(SeqStack *S) { if (S->top == -1) { printf("栈为空"); return -1; // 返回一个特殊值表示出错 } return S->elem[S->top]; // 返回栈顶元素的值 } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值