1.PTA实验作业
1.1 题目名1
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:输入在一行中给出一个不超过pow(10, 9)的正整数N。
输出格式:在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:321
输出样例:3 6
1.1.1数据处理
数据表达:用了n,count,i,N四个变量,i的值是通过赋值运算出来的,n,N的值由定义知,count通过累加得,都是整型变量。
数据处理:
伪代码:
count←0 /*count记录整数的位数,开始时位数为0*/
N←n /*输入的整数赋值给N*/
i←N%10 /*为解决个位数漏加,在循环之前先加上*/
IF (n<0) /*将输入的负数转换为正数*/
n←-n
do
n←n/10 /*整除后减少一位个位数,组成一个新数*/
count←count+1 /*位数加1*/
i←i+n%10 /*各位数字之和*/
until n←10 /*判断循环条件*/
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
321 |
3 6 |
与题目样例一样正确 |
70581 |
5 21 |
随机取数检验代码是否正确 |
85428963 |
8 45 |
随机取数检验代码是否正确 |
1.1.4 PTA提交列表及说明
1.编译错误:scanf()里面n后面多了一个逗号;去掉逗号变成了部分正确。
2.部分正确:代码考虑的不完整,各位数字之和不正确,没有考虑个位数。在前面又定义了一个N,加了N=n,i=N%10就正确了。
3.答案正确。
1.2 题目2
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学
水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
输入格式:本题无输入
输出格式:输出韩信至少拥有的士兵人数。
1.2.1 数据处理
数据表达:用了n1个变量,n的值通过循环得出,是整型变量。
数据处理:
伪代码:
while 1
IF (n%5==1 && n%6==5 && n%7==4 && n%11==10) THEN
printf ("%d", n);
break;
ELSE
n←n+1; /*若不合题意,n加1继续循环*/
END IF
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
无 |
2111 |
韩信至少拥有的士兵人数 |
1.2.4 PTA提交列表及说明
1.答案错误:不太清楚为什么。后面把n++;前后加了{},把这后面的printf("%d", n)去掉了,在if语句的printf("%d", n)后面加了break。编译错
误。
2.编译错误:PTA上说break语句不在循环和switch里面打破,不太明白什么意思。把break去掉了,在后面又加上了printf("%d", n)。答案错误。
3-4.答案错误:没有注意题目要求,在前面加了scanf(),去掉后正确。
5.答案正确。
2.代码互评(5分)
同学1的代码只设了两个变量,而且用的是whlie(1)+if+break+else这样的一个类型的循环,代码比较简洁。后面我们两个都用了if-else语句,就是里面的表达式不太一样。
同学代码截图2 |
自己代码截图 |
|
|
同学2的代码只设了4个变量,在while语句里面用了两次if-else,且我们的表达式都不一样,我的代码较简短一点。
3.学习总结
3.1 学习进度条
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
第12周/11.14 |
两天 |
107 |
whlie语句,do-whlie语句的使用方法,伪代码 |
不太清楚字符型的使用方法 |
第11周/11.9 |
一天 |
137 |
switch语句 |
scanf语句在int后面和在for或其他语句后面有什么区别吗 |
第10周/11.4 |
一天 |
112 |
if语句的嵌套,字符型,逻辑运算符 |
怎么活用已学知识点做PTA |
第9周/10.25 |
一天半 |
88 |
函数的定义,调用 |
“/=”是什么意思 |
第8周/10.18 |
两天左右 |
84 |
循环结构,for语句 |
在Dev-C++里面正确的代码到PTA上是答案错误怎么解决 |
第7周/10.8-10.12 |
两天左右 |
49 |
scanf()函数,if-else语句,常用的数学函数,关系运算符... |
PTA作业怎么能好好的做完! |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
每次做PTA总是看不懂题目,有时候看懂了不知道怎么表达那些内容,而且我这次做作业又有点拖,好多东西都不太懂。char,学了,可是...这次作业还学了伪
代码,都不知道我写的对不对,和同学比较了一下,差别太大了,还是要好好理解,不然真的就懵逼了!
最新文章
- 在DirectX9中使用DXUT定制按钮来控制模型旋转的问题
- SQLserver技巧
- Android应用程序Monkey测试
- 智者当借力而行, 借助Autodesk应用程序商店实现名利双收
- ASP.NET WebAPI 09 Controller的激活
- 归并排序的分析与Java实现
- SDUT2191Calendar
- TCP/IP笔记 三.运输层(2)——TCP 流量控制与拥塞控制
- 一个基于DpperHelper的t4模板
- MVC3 Razor 根据不同页面使用不同Layout
- 支付sdk —— 该组件为封装了 微信,支付宝,银联支付
- Python_002_Python语言基础
- HBase学习笔记2 - HBase shell常用命令
- AOP的底层实现:JDK动态代理与Cglib动态代理
- 【OJ】字符串去重并并按原顺序打印出重复字符
- 【Ruby】【变量】
- jmeter自动生成报告
- iptables详细设置
- leetcode693:Binary Number with Alternating Bits
- [转]HTTP报文接口及客户端和服务器端交互原理
热门文章
- my_note
- Java设计模式-策略模式实际应用场景
- Python文本和字节序列
- Codeforces Round #402 (Div. 2) D题 【字符串二分答案+暴力】
- Vue 事件监听实现导航栏吸顶效果(页面滚动后定位)
- 查看PublicKeyToken和生成PublicKeyToken
- 逆向bfs搜索打表+康拓判重
- openSmile-2.3.0在Linux下安装
- python控制窗口移动(轨迹为圆)
- Python3 Address already in use 解决方法