C语言I博客作业08

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11611
这个作业的目标 学习及掌握循环及嵌套,了解break和continue用法,怎么跳出循环
学号 20208966

1.PTA实验作业(20分/题)

1.1 题目1

输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

1.1.1 数据处理

数据表达:定义数组a[100]和整数m,count,t表示每行个数
数据处理:输入m,用循环将1到m的所有整数放入a[100],自定义一个Prime函数判断素数,在main函数里调用Prime函数
for (int i = 1; i <= m; i++) {
        if (Prime(i) == 1) {
            a[count] = i;
                    count++;

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2 No m<=2
1000 OVERFLOW 数组最多只存放100个素数

1.1.4 PTA提交列表及说明


说明:

格式错误:最后换行错误,每十五个换行,用t%15==0来判断是否换行
部分正确:最后每行不足十五时结束,要在最后一个循环外面用换行符结束

1.2 题目2

本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。

1.2.1 数据处理

数据表达:定义整数x,y,n,s分别表示行数,列数,输入的整数,每次的运算结果
数据处理:用for循环嵌套,外层表示行,内层表示列
for(x=1;x<=n;x++)
    {
        for(y=1;y<=x;y++)
        {
            s=x*y;

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
1 1*1=1 一行一列
9 11=1 ····· 99=81 九行且每行递增一列到九列

1.2.4 PTA提交列表及说明

说明:

格式错误:最后输出应该为"%-4d",否则输出结果与预期不符

2.代码互评(5分)

同学代码:

我的代码:


对比:

同学的代码很特别的一步是num = (n * (n + 1)) / 2,再用一个if的判断再采用两个for循环的嵌套,是将答案存储在数组中;而我用了一个循环嵌套直接行与列计算输出结果

3.学习总结(15分)

3.1 学习进度条(5分)

3.2 累积代码行和博客字数(5分)


3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

1.最近一直是在复习,没有太多的去接触新的知识,对我而言,任何东西,基础最重要,现在回过头来看看之前的知识,比第一次接触时要清晰很多,也尝试用后面所学的去解决,对于c语言,当然也还没有接触到最深的那块地方,自知还有很多不足的地方,接下来的时间里我会去一一弥补改正。
2.对于如何跳出多重循环:第一可以在循环内部设定一个停止条件;第二增加break;第三使用goto语句(无条件转移语句)goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不推荐使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

posted on 2020-12-12 12:00  KKore  阅读(172)  评论(9编辑  收藏  举报