首页 > 编程语言 > 详细

C语言博客作业04--数组

时间:2018-12-08 23:14:33      阅读:291      评论:0      收藏:0      [点我收藏+]

1.本章学习总结

1.1思维导图

技术分享图片

1.2 本章学习体会及代码量学习体会

1.2.1学习体会

本章内容较之前的学习的内容要难,在PTA的题目更多,思考量大,对逻辑思维能力的要求也更高,如果平时代码量小了,到考试的时候真的会很生疏。在做作业的过程中,要注意记住一些解题的方法,这会在以后给自己省下很多时间,不会的就上百度查,然后记住。不然等到最后会发现时间花太多到最后还是做不好。还有,在写代码的时候,变量的命名要多留意,要起的有技术含量一点,并应该合理运用注释。今后要尽量在自己的代码中用上函数,让代码更加清晰。

1.2.2代码累计


2.PTA总分

2.1截图

技术分享图片

2.2我的总分


3.PTA实验作业

3.1PTA题目一

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

3.1.1算法分析

定义N与整形数组a
输入数组a
for i=0 to N do
        flag=m;
        m=0;
        for j=i to 0 do 
                if a[i]==a[j] then m++;
                end if
        if m>flag then
                次数为m;
                出现次数最多的整数num=a[i];
        end if
输出 num time;

3.1.2代码截图

技术分享图片

3.1.3PTA提交列表及说明

技术分享图片

  • Q1 刚开始是将输入数字作为元素下标,输入该数字时,相应的元素大小加一。最后比较元素大小。但是这种做法在pta中有个测试点一直过不去。怎么改范围都不对。问了老师,说是范围越界,这种方法应该不行。

  • A1 最后换了方法:计算每个数出现的次数,然后比较。最后对了。

3.2PTA题目二

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。

3.2.1算法分析

定义 n,hang,lie
定义整形数组a
输入n;
        for i=0 to n-1 do
                max=a[i][0]
                for j=0 to n-1 do
                        if a[i][j] 大等于 max then
                        lie=j;
                        end if
                min=a[0][lie];
                for k=0 to n-1 do
                        if a[k][lie] 小等于 min then
                        hang=k;
                        end if
                if min等于max then 
                输出hang和lie,结束循环
        if i>=n then 输出NONE
end

3.2.2代码截图

技术分享图片

3.2.3PTA提交列表及说明

技术分享图片

  • Q1 第一次编写的时候,把行的最大值和列的最小值分开求了。

  • A1 改为先求一行中的最大值,再在相应的列中找最小值。

  • Q2 循环的嵌套的两个条件写反了,把行和列搞反了。

  • A2 理清思路重新改了过来。

  • Q3 冒泡法的使用混乱。

  • A2 通过上网查询弄清楚了。

3.3PTA题目三

输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!

3.3.1算法分析

 定义变量ch,使输入数字为字符,sum为十进制的数,digit为输入的数字(看作余数),flag判断是否输出错误。
while((ch=getchar())!=‘\n‘)
    if (ch==‘1‘||ch==‘0‘) then
    digit= ch - ‘0‘;
    sum=sum*2+digit;
    end if
    else if ((ch=getchar())!=‘\n‘)
    flag=1;
    end if
if flag==1 then
    输出error input!
else
    输出sum
    

3.3.2代码截图

技术分享图片

3.3.3测试数据

技术分享图片

3.3.4PTA提交列表及说明

技术分享图片

  • Q1 刚开始想这道题目的时候没有头绪,不知道怎么用嵌套。

  • A1 后来经提醒,知道了大致过程。

  • Q2 难以理解怎么至少留有一个二元和一个一元。

  • A2 百度后知道了方法,要在第一个选出五元硬币个数的循环中“留下”一个一和一个二,在第二个选出二元硬币数量的循环中“留下”一个一元。


4.代码互评

4.1代码截图

  • 同学

  • 自己

4.2二者的不同

  • 相同:1.
    2.
    3.

  • 不同: 1.
    2.
    3.

C语言博客作业04--数组

原文:https://www.cnblogs.com/chianun2000/p/10089559.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!