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

最新文章

  1. 最新IP地址数据库Dat格式-高性能高并发版(2017年1月)
  2. PHP浮点数计算
  3. DBA常用SQL之会话与等待事件
  4. java常用面板
  5. 团队开发NABC特点
  6. Objective-C之消息机制
  7. centos 6.4 samba 权限 selinux权限配置
  8. Zend Framework 2参考Zend\Authentication(HTTP认证适配器)
  9. 使用SQL除掉文本中特殊的ascll字符比如Enter,Tab,空格键
  10. PCA数学原理
  11. Java经典编程题50道之三十四
  12. JavaScript 原型链学习(三)原型对象存在的问题 与 组合使用构造函数和原型
  13. (qsort)绝对值排序
  14. NDK学习笔记(二)
  15. java.io.IOException: Attempted read from closed stream解决
  16. 在linux下创建自定义service服务
  17. web前端开发企业级CSS常用命名,书写规范总结
  18. java虚拟机加载系统环境变量到内存中
  19. struts2-Action配置-通配符-DMI
  20. Jquery动画操作的stop()函数

热门文章

  1. RStudio中安装factoextra包的问题
  2. 连续子数组的最大乘积及连续子数组的最大和(Java)
  3. 【imx6ul应用开发】如何修改串口?
  4. js-Date对象(九)
  5. 令人兴奋的TOP Server OPC Server v6.5 五大功能(上)
  6. How to set up "lldb_codesign" certificate!
  7. vsftp 常见配置测试与故障排除
  8. git 列出两个分支 或者两个提交版本之间不同的文件名字
  9. .NET Framework 项目多环境下配置文件web.config
  10. 解决加载WEB页面时,由于JS文件引用过多影响页面打开速度的问题