C语言博客作业--一二维数组
一、PTA实验作业
题目1(7-6)
(1).本题PTA提交列表
(2)设计思路
//天数n;数组下标i;小时数h,分钟数m;对应书号的标签数组flag[1001]
//总阅读时间sum初始化为0,借书次数k初始化为0
//E或S的标志ch;
//定义a[1001]来放每本书的借出时间
while (1)
if n等于0
//跳出循环
//输入数组下标i;E或S的标志ch;小时数h;分钟数m;
if i等于0
//n自减
if k等于0
sum=0;
else
sum=sum与k的商
//输出
//k、sum归0;
//进入下一个循环
if ch的值为S
a[i]=小时数h乘上60再加上m;
flag[i]=1;
else
if flag[i]等于1
flag[i]=0;
sum+=归还时间减去借出时间再转换成分钟数;
k++;
(3)代码截图
(4)本题调试过程碰到问题及PTA提交列表情况说明
- 当用边界时间进行测试时,发现a[i]并没有记入时间;而且,当一本书被多次借出时,只记入最后一次借出时的时间,因此出现了错误
- 把let数组改成flag数组,记录每一本书的状态,当对应的flag值为1时不执行借出,消去可不要的变量
题目2(7-8)
(1).本题PTA提交列表
(2)设计思路
//外循环次数repeat,循环变量i,j;矩阵阶数n
//输入repeat
for repeat to 0
//输入n
//定义n阶矩阵a[n][n];
a[0][0]=2;//先使第一个元素为2
for i=0 to n-1 (n-1可取到)
for j=0 to i
a[i][j]=a[0][0]+i+j;//给矩阵赋值
//以规定格式输出+
for i=0 to n //输出第一列
if i 等于n
//输出占一列的数
else
//输出占四列的数
//输出换行符
for i=0 to n-1
//输出每列开头的数
for j=0 to i
if i与j相等
//输出占一列的数
else
//输出占四列的数
//输出换行符
(3)代码截图
(4)本题调试过程碰到问题及PTA提交列表情况说明
- 格式错误,原因在于当i等于j时要特殊输出
题目3 (7-12)
(1).本题PTA提交列表
(2)设计思路
//自定义的功能函数 void find(int a[],int b[],int n,int m)
//循环变量i,j;能存入a数组和b数组所有元素的数组c[n+m];标志变量flag;计数变量cnt=0;
for i=0 to n-1
flag=0;//初始化
for j=0 to m-1
if a[i]等于b[j]
flag++;
if flag等于0
c[cnt++]=a[i]//找出a数组对于b数组不相同的数,并存放在c数组中;
for i=0 to m-1
flag=0;//初始化
for j=0 to n-1
if b[i]等于a[j]
flag++;
if flag等于0
c[cnt++]=b[i]//找出b数组对于a数组不相同的数,并存放在c数组中;
for i=0 to cnt-1
flag=0;
if i等于0
//输出占一列的c[i]
//进入下一次循环
else
for j=0 to i-1
if c[i]等于c[j]
flag++;
if flag等于且i大于0
//输出前有空格的c[i]
else if flag等于0且i等于0
//输出占一列的c[i]
//主函数
//a数组中元素个数n;b数组中元素个数m;循环变量i;
//输入n、m
//定义a[n]、b[m]
//输入a[n]、b[m]
//调用功能函数
(3)代码截图
(4)本题调试过程碰到问题及PTA提交列表情况说明
- 发现有重复的数输出,并且某些数之间没有空格隔开
- 在if (i==0)处加入输出语句和进入下次循环语句;在else处添加条件当flag等于0时才执行
二、截图本周题目集的PTA最后排名。
PTA排名
三、同学代码结对互评
1.互评同学名称
黄泽彬
2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
我的代码将插入数作为数组的最后一位,而他把插入数单独放在一个变量里;他比我多用了一个数组,目的是将在把原数组往里放的同时把插入数一并放好,然后一并输出;他把数组元素个数为0、1、大于1时分出来做特殊输出,而我直接把所有情况放在一起。
我的优势在于变量少,只使用了一个数组。他的优势在于在n为0、1的情况下计算过程会更迅速,但是当n大于1时他的代码比我的代码计算过程可能要更多一些。
我的代码风格。
四、本周学习总结
1.你学会了什么?
- gets()函数、puts()函数、%s的使用
- 用字符数组来解决进制相互转换问题
- 字符数组的基本性质,如字符数组存储个数之类
- 更深入了解二维数组在部分情景问题下的使用
1.1 C中如何存储字符串?
- 定义字符数组存储
1.2 字符串的结束标志是什么,为什么要结束标志?
- 结束标志是'\0'
- 使其他数组元素与这个字符串无关
1.3 字符串输入有哪几种方法?
- 用gets()输入,或循环后将最后一个赋值为'\0'
1.4 数字字符怎么转整数,写个伪代码?
char i='9';
int j;
j=i-'0';
1.5 16进制、二进制字符串如何转10进制?写伪代码?
16进制字符串转10进制
int i,sum=0,n;
//输入n;
char a[n];//一串16进制字符串
gets (a);
for i=0 to i<n
if a[i]大于等于'0'小于等于'9'
sum+=a[i]乘上16的i次方;
else if a[i]大于等于'a'小于等于'f'
sum+=(a[i]-'a')乘上16的i次方;
else if a[i]大于等于'A'小于等于'F'
sum+=(a[i]-'A')乘上16的i次方;
//输出sum的值
二进制字符串转10进制
int i,sum=0,n;
//输入n;
char a[n];//一串二进制字符串
gets (a);
for i=0 to i<n
sum+=(a[i]-'0')乘上2的i次方;
//输出sum的值
2.本周的内容,你还不会什么?详细罗列不明白地方,包括课堂派错题、PTA错题。
- 题目中的哪些可以使用二维数组来表示还不是很明白
- 字符数组的输入函数getchar()的用法,
- 有时要输入一串数字存在整型数组时的办法
3.期中考试小结
3.1 你认为为什么没考好?
- 没有用太多的时间去复习
- 平时学习的知识掌握的不是很牢
- 各个题型的时间分配并不好
- 有些依赖于devc++的调试功能,写代码偶尔会漏了符号
- 没有想清楚就开始写
3.2 罗列错题。请在选择题、填空题、改错题、编程题分别举一题说明为什么错了,怎么改?
选择题的第九题
- 错在没有理解&&和||的优先级
填空题第三题
- 错在不知道ASCII码为65的符号是什么
改错题最后一题
- 错在判断是大于等于还是小于上面
编程题第三题
- 错在功能函数里的变量设置上
- 仔细检查一遍
3.3 下半学期要怎么调整C的学习?
- 要兼顾c的基础知识的学习,不能只重于PTA
- 写题目前先思考题目要求做什么,要怎样做到,和以前做过的哪个题目较相似,再思考该怎么下手
- 尝试在一定时间里写完一道编程题-
C语言博客作业--一二维数组的更多相关文章
- C语言博客作业—一二维数组
一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 Begin 输入整数个数N 定义数组a[N] 输入数组a for(i 0 to N-1){/ ...
- C语言博客作业--一二维数组。
一.PTA实验作业 题目1:7-1 将数组中的数逆序存放 1. 本题PTA提交列表 2. 设计思路 定义三个整型变量n用来存放整数个数i,j是循环数 scanf("%d",& ...
- C语言博客作业一二维数组
一.PTA实验作业 题目1.7-5 数组循环左移 1.本题PTA提交列表 2.设计思路 定义变量a[100]存放整数,整数n,整数m,change作为交换数组的媒介,j,i作为循环的变量 输入整数n, ...
- C语言第七次博客作业--一二维数组
一.PTA实验作业 题目1:找鞍点 1. 本题PTA提交列表 2. 设计思路 定义n,i,j,ii,jj,a[7][7],flag,max 输入n for i=0 to i=n for j=0 to ...
- C语言博客作业4--数组
C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
- C语言博客作业3--函数
C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
随机推荐
- HttpServletResponse,HttpServletRequest详解
1.相关的接口 HttpServletRequest HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据.同时,HttpServletReq ...
- PHP 数组模糊查询
function search() { $a=array( '0' => array('id'=>1,'pid'=>0,'name'=>'水果'), '1' => arr ...
- Vue安装依赖npm install时报错问题解决方法
1.vue的安装依赖于node.js,要确保你的计算机上已安装过node.js. 可进入cmd编辑器,输入命令 node -v进行查看.出现版本信息即成功!没有则从浏览器上面下载安装即可,没有安 ...
- ThreadPoolExecutor线程池参数设置技巧
一.ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线 ...
- java编程思想第四版第九章总结
1. 策略设计模式 参考这篇文章:http://blog.csdn.net/chenjie19891104/article/details/6396458 讲的很清楚,策略设计模式.并且举了一个例子, ...
- Bzoj4566:[HAOI2016]找相同字符
题面 Bzoj Sol 两个串拼在一起后求出后缀数组 然后显然的\(n^2\)暴力,就是直接枚举求\(LCP\) 又由于扫的时候是对\(height\)取\(min\) 那么可以用单调栈维护每一段的贡 ...
- [BZOJ3110] [Zjoi2013] K大数查询 (树套树)
Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置 ...
- ImageButton 图像按钮
ImageButton 类主要成员有: setINMask 属性: 数据类型:Bool, {get ,set}. 用于确定是否接受用户输入操作,它的值是传给一个指针.这个指针指向的当前图像按钮所在的窗 ...
- object转字符串
1.obj.tostring() obj为空时,抛异常. 2.convert.tostring(obj) obj为空时,返回null: 3.(string)obj obj为空时,返回null:obj不 ...
- webuploader 上传文件 生成链接下载文件
最近 在asp.net MVC 项目 需要实现一个Excel和 图片上传功能.之前有使用过SWFUpload 做过上传图片功能,在本次实现过程中,有人推荐WebUploader 上传组件,因此采用we ...