题目一:信管17数组—— 7-2求最大值及其下标
1.pta提交列表:
2.设计思路:本题是输入一串数依次比较大小,找出最大值及其下标。用数组比较。
流程图如下:
3.代码截图:
4.调试问题:
在提交列表里面出现了四次编译错误,因为粗心一直没有把for语句括号里面的双引号去掉,所以没有调试正确。
题目二:7-4查找整数
1.提交列表:
2.设计思路:顾名思义是在一串数里面寻找与输入值相同的数,找到及输出它的位置,否则输出没有找到。用数组定义一串数,逐个寻找相不相同。
流程图如下:
3.代码截图:
4.调试问题:
在提交三次的情况下,第一次使用的是函数封装的情况,在Dev上面运行是零错误,或许是Dev又发疯误导我,再看了一遍程序发现编写的程序过于复杂,所以改了一
下不使用函数形式来写。在后一个程序提交过程中还是存在部分错误,仔细调试一下是输入x的值从始至终只有一个,不需要在for语句后面才输入,所以调试改正之后
才答案正确。
题目三:7-6冒泡法排序:
1.提交列表:
2.设计思路:本题是比较典型的冒泡法排序,将输入的一串数依次比较,如果后面的数大于前面的数,则交换位置,中间用一个中间值t进行交换,最后输出按从小到大的顺序排列,用函数的方法进行编程会显得代码比较好看。
流程图如下:
3.代码截图:
4.调试问题:
这道题出现了编译错误,答案错误,部分错误的问题,其中编译错误是经常出现的错误,没有在输入a[i]没有用&符号,至于答案错误和编译错误始终没有找出来,只是pta给出的分数和提示都是部分错误,试过调试子主函数都没有正确。
四.同学代码结对互评:
我的代码:
李桢同学的代码:
我觉得我们代码最大的差异在于我的代码是采用了flag语句,李桢代码用函数封装,采用了两次数组形式,进行一一对比,看上去简单明了。
我的代码也还是集中于最原始的方法。编程总归要求精炼,所以会继续加油。
五.本周pta排名:
六.学习总结:
学会了什么?本章学会了用数组的形式解决多个数及字符串的处理,并且用函数的形式对数组进行传值。
学会了冒泡排序和选择法排序,两个值之间的交换数值。
取伪随机数:调用stdlib.h、time.h、string.h。
a[i]=(rand()%100)取一到一百的伪随机数
用数组定义二维数组。
进制之间的转换:比如十六进制转换为十进制数:
number=number*16+head[i]-‘0‘;
number=number*16+head[i]-‘A‘+10;
number=number*16+head[i]-‘a‘+10;
输入一字符串的情况,要用‘\0’作为结束符。
不会什么?
在pta中出现的例题中,“出生年”“点赞”“找鞍点”“说反话”等不会。