C博客作业01--分支,顺序结构1
0.展示PTA总分


1.本章学习总结
1.1 学习内容总结
1.学习了if--else,else--if的分支嵌套结构
if (判断条件)
{
执行语句1;
}
else
{
执行语句2;
}//用来实现二分支的语句
if(判断条件1)
{
执行语句1;
}
else if(判断条件2)
{
执行语句2;
}
·····
else
{
执行语句n;
}//用来判断多分支语句
if(判断条件1)
{
if(判断条件1.1)
{
执行语句;
}
else
{
执行语句;
}
}
else
{
执行语句;
}//用来实现嵌套语句
2学习了for循环
for(表达式1;判断条件;表达式2)
{
循环体语句;
}//先执行表达式1,再判断条件成立,执行循环体语句,执行表达式2,然后回到for判断条件,循环下去,直到判断条件不成立
3学习了switch语句
switch(表达式)
{
case 常量表达式1:
执行语句;
break;
case 常量表达式2:
执行语句;
break;
case 常量表达式n:
执行语句;
break;
default:
执行语句;
break;
}//这种与if语句差不多,但这种只能表达具体的值,不能表示范围;switch判断的是整形,而if判断的是整形或浮点数;并且这种效率更高
4学习了字符型数据
{
char op;//用来定义字符型变量,char为类型名,op为字符型变量
scanf("%c",&op);
printf("%c",op);//字符型输入输出的第一种方法,调用时用%c,注意:空格也会被读成字符型变量
op=getchar();//字符型数据的输入,需要注意的是一次只能调用一个字符,调用多个字符是可以用循环调用
putchar (op);//输出存放在op中的字符型数据
}
1.2本章学习体会
1:在学习过程中,只要我预习了,跟上老师节奏还不是问题,也在过程中逐渐感受到了计算机的魅力,虽然有点难,但代码通过的一瞬间还是非常高兴的;也基本了解了老师的讲课风格,逐渐适应了大学生活;
2:第一周代码量为421行,第二周为611行;
PTA实验作业
2.1 题目名1
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。
输入格式:
输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。
提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。
输出格式:
在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。
2.1.1数据处理
数据表达:用了int hour, int minute,char op;这些变量
数据处理:先判断是否小于12或大于等于0点,在这个范围里则原样输出,然后判断12这个特殊的时间点,原样输出但时间为下午,其他的则为下午时间,小时减去12
2.1.2代码截图

2.1.3扩展
可以将每个小时,分钟都占2个宽度,不够用0补;写法便把输出改为%02d便可以
2.1.4PTA提交列表及说明

问题:第一次做时就是那个字符串我想用字符型数据来输出,结果总是错误
解决:我们也没学过字符串,最后发现直接用输出AM PM就ok
问题:在边界点12点,0点的地方错误
解决;将12点直接分开来
题目名2
输入三个整数x,y,z,请把这三个数由小到大输出。
2.1.1数据处理
数据表达:用了四个整型x,y,z,item变量,item变量用来暂时存储值,将两个变量交换
数据处理:通过输入三个数,不断比较大小,交换数值,从而输出按x,y,z从大到小的顺序
2.1.2代码截图

2.1.3扩展
1.循环输入未知个数,直到输入0为止, 然后将这些数中最大的一个数输出;
解决:制造一个循环,循环输入,比大小,直到0,最后输出最大的值
2.1.4PTA提交列表及说明

问题:第一次遇见这种题时,我脑中还没有这种思路,便按照一个一个的比较,一个一个的if语句,后面实在写不下去了
解决:手机百度,发现这种思路挺好,提高了不少效率,便按照她的思路来,虽然有一点语法错误,但通过编译器便调整出来了
题目名3(用这题的原因并不是难,而是她的扩展广泛)
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c) ,其中s=(a+b+c)/2。
2.1.1数据处理
数据表达:用了简单的 int a,b,c,s; double area,perimeter;分别计算出周长,面积,得出答案
数据处理: 用到了题目给的表达式,直接就出来了
2.1.2代码截图

2.1.3扩展
1.可以将三角形变为等腰或直角或其它的三角形
解决:将if中的条件改变成题目需要的条件
2.可以将三角形变成四边形或五边形,甚至多边形
解决:有明确的边数时, 直接运用面积公式来求解,多边形时则用循环统计边数,用面积公式求解
3.将整数边变为小数
解决:将类型变为double
2.1.4PTA提交列表及说明

问题:周长我一直认为是个整数,调试也没有问题
解决:没办法了,找室友帮我看出来的
阅读代码

分析:用if判断形成三角形的条件,否则输出0;在用循环判断出三个最大的数,运用题目三 的公式计算面积;这只是我用我学过的来解释,当然题目肯定不像这样,还有就是我一个也看不懂ACM
C博客作业01--分支,顺序结构1的更多相关文章
- C博客作业01——分支,顺序结构
C博客作业01--分支,顺序结构 0.展示PTA总分 1本章学习内容 1.1学习内容总结 1)格式化输出函数printf(),scanf(). 它是什么? 对于初学者而言,一开始了解接触它们,只是被硬 ...
- C博客作业01——分支、顺序结构
1.本章学习总结 1.1思维导图 本章学习体会及代码量学习体会 1.2.1学习体会 在暑假的时候就有加入新生学习群,对C语言有一定的基础,所以这周的学习相对轻松,但一些细节方面的知识并不是很了解.在这 ...
- c语言博客作业01—分支、顺序结构
1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 这周 对c语言的学习 明显与其他同学相比较有些滞后,觉得很大原因是暑假没有看教学视频,课前没有预习课本 ...
- C博客作业01--分支,顺序结构
本章学习总结(2分) 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周初次接触C语言,一开始难度较大,很多代码都看不懂,书里面的章节要看很多遍.开始编写代码时也遇到很多困难 ...
- C博客作业01--分支顺序结构
1.展示PTA总分 2.本章学习总结 ①C语言数据类型 ② if-else语句 if (条件) { 语句A; } else { 语句B; } 在if (条件)后不加":" 要用&q ...
- C语言I博客作业01
C语言I博客作业01 作业1 这个作业属于哪个课程? C语言程序设计I 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homewo ...
- C语言l博客作业01
2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样?(2分) 计算机科学与技术是国家一级学科,下设信息安全,软件工程,计算机软件与理论等专业,主要培养符合教育部门实际需要的计算机教学及应用管理 ...
- C语言II博客作业01
这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4 这个作业要求在哪里 https://edu.cnblogs.com/campus/zs ...
- c博客作业01——顺序 分支结构
本章学习总结 1.1 学习内容总结 ·学习switch分支的使用,switch后加括号(),括号内填一个变量或字符 如 switch (a) { case 2: case 3: default: } ...
- DS博客作业01—日期抽象数据类型设计与实现
1.本章学习总结 1.1 思维导图 1.2学习体会 开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着CSDN和寝室大佬的帮助下渐渐地了解了一些c++的使用,现在也可以使 ...
随机推荐
- java之spring之helloword
这篇文章主要讲 spring的基础的使用案例 项目整体目录结构: 1.新建一个java项目:spring_helloworld 2.在项目下创建一个lib文件夹,并把一些必须的jar包复制过去 新建l ...
- ubuntu16.04 打开chrome弹出“Enter password to unlock your login keyring”解决方法
问题如图 输入开机密码发现验证失败. 解决 命令: find ~/ -name login.keyring 查找相关文件. 命令: sudo rm -rf /home/la/.local/share/ ...
- Mars Android 接入指南
Mars Android 接入指南 https://github.com/Tencent/mars/wiki/Mars-Android-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8 ...
- AWS--Lamdba
分享一个Lambda相关的连接 https://blog.csdn.net/m0_37204491/article/details/72829477
- Matlab装饰模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.根据https://www.runoob.com/design-pattern/decorator ...
- FreeRTOS软件定时器
API函数 //创建 TimerHandle_t xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriod ...
- Ubuntu 系统装机指南
1.vim设置 2.git配置 3.系统性能监视器:Ubuntu安装系统监视器 4.编译环境安装:sudo apt-get install build-essential
- Java读书笔记
一.背景 工作中越来越发现对基础理解的重要性,所谓基础不牢,地动山摇.所以抽了点时间看看几本Java体系的电子书,并做笔记,如下: 二.近期要看的电子书 1.Spring实战(第4版) 2.Sprin ...
- kindedtor 数据传输问题
<script src="/static/kindeditor/kindeditor-all.js"></script><script src=&qu ...
- 【转】SetWindowText 的用法
SetWindowTextW表示设置的字符串是WCHAR (双字节字符 )SetWindowTextA表示设置的字符串是CHAR (单字节字符 )SetWindowText表示设置的字符串是自动匹配当 ...