0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
1.if 语句
适用需要判断条件再执行的情况
if(条件)
{
执行的语句
}
条件中 &&表示同时满足——和,||表示或者。
2.if-else 语句
主要适用于需要分段的情况
if(条件)
{
执行的语句
}
else{
执行的语句
}//跟if的括号里的条件相反的情况
3.if-if else 语句
if(条件)
{
执行语句
}else if (除第一个if之外条件)
{
}else if (除第一第二个条件之外的条件)
{
}else {}//除上面提及的条件之外的条件
4.if 的嵌套
if 的执行语句可以用if
5.switch语句
switch(表达式)//必须为整形
{case 1:
case 2:
default:
//输入值则跳转到该值的case语句执行,以break 结束跳出switch,否则按顺序继续执行下一条,default为除case 的条件之外的数。
}
2.随机数
srand(time(0)) ;//先设置随机种子 ,为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值。 rand()%100;//然后产生随机数 ,范围为0~99;
函数预处理:
#include <stdlib.h> #include <stdio.h> #include <time.h>
3.数据输入输出类型
字符型 | 占用的字节空间 | 输入 | 输出
- | - | - | -
int(整形) | 4 | %d | %d
double(双精度浮点数) | 8 | %lf | %f
float(单精度浮点数) | 4 | %f | %f
char(字符型) | 1 | %c | %c
1.2 编程技巧总结
1.取某个数的个位数
用%10来取。
2.判断整除做法
#include<stdio.h> int main() { int Rabbitdis, Tortoisedis; int T; scanf("%d", &T); Tortoisedis = 0; Rabbitdis = 0; for (int t = 1; t <= T; t++) { Tortoisedis = 3 * t; Rabbitdis += 9; if (t % 10 == 0 && Rabbitdis < Tortoisedis) {//用%10来判断过了十分钟,则再次判断此时兔子跟乌龟的距离 t += 30; } } Tortoisedis = T * 3; if (Tortoisedis > Rabbitdis)printf("@_@ %d", s1); if (Rabbitdis > Tortoisedis)printf("^_^ %d", s2); if (Tortoisedis == Rabbitdis)printf("-_- %d", s1); return 0; }
3.利用判断条件来控制最后不输出空格
念数字的题目
#include<stdio.h> int count(int x){ int cnt = 1; while (x > 9) { x /= 10; cnt *= 10; }return cnt; } int main() { int n; int m; int x; scanf("%d", &n); if (n < 0) { printf("fu "); n = -n; } int c = count(n); for(int i;c>0;i++) { m = n/c; n %= c; switch (m) { case 0: printf("ling"); break; case 1: printf("yi"); break; case 2: printf("er"); break; case 3: printf("san"); break; case 4: printf("si"); break; case 5: printf("wu"); break; case 6: printf("liu"); break; case 7: printf("qi"); break; case 8: printf("ba"); break; case 9: printf("jiu"); break; } if (c > 9) { printf(" "); } c /= 10; } return 0; }
1.3 本章学习体会
1.学习感受:许多细节的用法不了解,比如如何在最后一格不取0,和ASCII码的运用等等。这需要多花时间去了解学习跟实践。
2.这周代码量只有500~600行,相对往周较少,还是要多抽时间来刷题,相对多的代码量,才能加强编程技巧和编程能力。
2.PTA实验作业
2.1 前天是哪天
2.1.1 数据处理
用int 定义 year,month,day 三个变量。
其中先判断day-2的大小,来判断月份是否有变,
再根据变的月份来判断变的日,跟年。
2.1.2 代码截图
2.1.3 PTA提交列表及说明
说明:Q1:讨论的条件太多致使逻辑较为混乱
A1:,导致每次的判断并不全面,此时可用&&,||来使代码量减小,且代码更为全面。
Q2:思路逻辑的复杂
A2:其实只需判断好几个特殊的条件便可:如闰年跟非闰年,月份3月到2月,如果是闰
年则是29天的2月,非闰年则是28天的2月,还有个是有31天和30天两种的月份的跨度。
2.2 自选一题
2.1.1 数据处理
定义一个字符型变量c和整形变量count,再在循环中输入以此来判断类型,如果为非空格则count+1,来统计字符量。
2.1.2 代码截图
2.1.3 PTA提交列表及说明
最大的问题出在
如果用每次输出"数量 ”来控制格式,如果后方有空格然后‘.’则难以避免,所以我在第二个循环里,加上第一个循环来把第一个单词的字符数先统计出来输出"数字"。
如果还有第二个则输出则输出" 数字”来控制格式。
2.3 自选一题,介绍单步调试如何检查错误
2.3.1 单步调试截图
1.在scanf后设置断点进入调试
2.输入样例
3.开始逐过程调试
第一次进入default分支,则为97号汽油
第二次进入分支判断服务类型为m
之后则输出计算出来的数值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY