C语言I博客作业10

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业10
我在这个课程的目标是 理解运用现有的C语言知识
这个作业在那个具体方面帮助我实现目标 通过PTA作业和阅读教材并练习
参考文献 《C语言程序设计》

一、PTA作业

1.1输出三角形字符阵列

本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式:

输入在一行中给出一个正整数n(1≤n<7)。

输出格式:

输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

输入样例:

输出样例:

1.1.1数据处理

数据表达:定义了整型int变量i,N,n,j;以及字符char变量letter;
数据处理:运用for循环嵌套;第一个for循环输出指定的行次数以及第二个for循环相应的字符。
伪代码

int main()
{
    定义整型变量 i,N,n,j;
    定义字符型变量 letter;
    字符型变量初始为letter='A';
    输入整数scanf("%d",&n);
    令N=n;
    for(循环n次)
    {
        for(循环n次)
        {
            printf("%c ",letter);
            letter++;字符跳到下一个
        }
        printf("\n");换行
        n--;每循环一次n要减少一次
    }
    return 0;
}

1.1.2实验代码截图

C语言I博客作业10_第1张图片

1.1.3 造测试数据

输入数据 输出数据 说明
2 输出2行由大写字母A开始构成的三角形字符阵列。
5 输出5行由大写字母A开始构成的三角形字符阵列。
6 输出6行由大写字母A开始构成的三角形字符阵列。

1.1.4 PTA提交列表及说明

C语言I博客作业10_第2张图片
提交列表说明
格式错误:多循环了一次,输出多换行了一格;通过对比输出数据对比出来的。

1.2梅森数

输入格式:

输入在一行中给出正整数n(n<20)。

输出格式:

输入样例:

输出样例:

1.2.1数据处理

数据表达:定义整型int变量i,j,m,n,mumber;
数据处理:for循环嵌套if语句,再利用break跳出语句的特性将条件罗列求出梅森数。
伪代码

int main()
{
    定义整形变量int i,j,m,n,number;
    令m=0;
    scanf("%d",&n);输入n
    for(循环n-1次)
     {
        number=2的i次方-1;
        for(j=2;j不大于number开平方;j++)
        {
            如果(判定number除以j余数是否为0) 跳出循环该循环语句体break;
        }
        如果(j大于number开平方)
        {
            printf("%d\n",number);
            m++;用来计数
        }
    }
    if(m==0)即计数为0,为没有梅森数时
    {
        printf("None");
    }
    return 0;
}

1.2.2 实验代码截图

C语言I博客作业10_第3张图片

1.2.3 造测试数据

输入数据 输出数据 说明
1 NONE 不超过(2^3)-1的梅森数有0个
12 不超过(2^3)-1的梅森数有4个
666 不超过(2^3)-1的梅森数有8个

1.2.4 PTA提交列表及说明

C语言I博客作业10_第4张图片
提交列表说明
没什么大问题。

1.3同构数

一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。

输出格式:

在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。

输出样例:

1.3.1数据处理

数据表达:定义整型int变量i,N;
数据处理:利用for循环嵌套if判断再利用韩信点兵取余思想,筛选出1-1000的同构数。
伪代码

int main()
{
    定义整型变量int i,N;
    for(从1-1000循环并筛选)
    {
        N = i²
        if(十位数取余==i||百位数取余==i||千位数取余==i)
        {
          printf("%6d根据输出格式对齐",i);
        }
    }
    return 0;
}

1.3.2实验代码截图

C语言I博客作业10_第5张图片

1.3.3 造测试数据

输入数据 输出数据 说明
1~1000之间的全部同构数。

1.3.4 PTA提交列表及说明

C语言I博客作业10_第6张图片
提交列表说明
格式错误:少了空格,后来直接修改“ %d”为“%6d”,就解决了。

二、代码互评

同学(乐树文)代码

C语言I博客作业10_第7张图片

我的代码

C语言I博客作业10_第8张图片

不同点:

1.他的代码相比较我的而言,更加简洁,我多写很多步骤,比如我多定义一个N为了让它与n区分,然后还要比n大一次,所以在循环条件那加了个n--;他直接在第二个for循环里用j 2.我的主for循环框架是递增的,他的主for循环框架是递减的;
3.他的整型变量是直接在for循环临时用的时候临时定义的,既然对了,证明可行,下次我也试试。

同学(柏朝晖)代码

C语言I博客作业10_第9张图片

我的代码

C语言I博客作业10_第10张图片

不同点:

1.他的代码是用自定义函数写的,使用条件以及返回判断i的值是不是同构数,不是则返回0;我则普通方法直接判断,不是同构数则继续循环,是则记录输出下来;
2.我定义的较为简洁,通俗易懂,他的代码高深一些,再者加上我发现我对函数的运用不是很了解其运行步骤,就只看出这么多了。

三、学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第七周 10小时 132行 常用的数学函数,if-else语句 函数的运算问题
第八周 13小时 156行 学会运用for循环语句和知晓DevcC++调试 对于DevcC++还是不大会用
第九周 12小时 145行 学会了函数定义和调用函数 对于函数的返回,不是很理解
第十周 12小时 150行 了解了逻辑运算符和ASCII代码 记不住逻辑运算符的意思以及ASCII代码
第十一周 5小时 70行 理解并运用switch语句,对数组有些了解 对于数组的使用还是不熟练
第十二周 8小时 121行 加深了while循环语句的理解,以及理解了数组的定义,还有对于do-while的使用 突然发现自己并不会使用函数写代码,有点迷
第十三周 10小时 145行 严谨了对于break的运用,以及初步了解了continue的使用 continue的使用不熟练,也不会灵活使用,容易被绕晕
第十四周 12小时 163行 开始慢慢挖掘字符型代码写法了,之前对字符型数据一无所知 对于字符型的运用不是很灵活,比较呆滞和僵硬

3.2 累积代码行和博客字数

时间 博客字数 代码行数
第五周 464 0
第六周 1017 50
第七周 1638 182
第八周 2533 288
第九周 3421 433
第十周 4399 583
第十一周 5051 653
第十二周 5789 774
第十三周 6686 919
第十四周 7985 1082

C语言I博客作业10_第11张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言I博客作业10_第12张图片

3.3.2 学习体会

不知不觉,就要到期末考试了,我总结了一下自己所学的知识,和对于以往题目的经验,我觉得C语言这门课程,理解题意是一个方面,翻译题意是另一个方面;我们不断做题,各方面能力都会逐步提升,但是由于我的平常不怎么刷题,对于题目的理解还是太差劲了,还有翻译题意的能力,不足归不足,用功不到位才是大问题。

你可能感兴趣的:(C语言I博客作业10)