C语言I博客作业09

这个作业属于那个课程 C语言程序设计I
这个作业要求在哪里 C语言I博客作业09
这个作业在那个具体方面帮助我实现目标 C语言教材书,老师课堂讲的内容,同学的帮助
参考文献 C语言程序设计,百度,《C primer plus》,集美大学灵丽老师

1.PTA实验作业

1.1打印九九口诀表 (15 分)

下面是一个完整的下三角九九口诀表:

11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
1
6=6 26=12 36=18 46=24 56=30 66=36
1
7=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
本题要求对任意给定的一位正整数N,输出从1
1到N*N的部分口诀表。

输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。

输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:
4
输出样例:
11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16

1.1.1数据处理

数据表达:定义了i,j,n三个整形变量
数据处理://打印九九乘法表
printf("九九乘法表: ");
int i, j ,n; //初始化打印的两个方向
for (i = 1; i<=n; i++) //两层循环嵌套打印输出
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-4d ", j, i, j * i); //%2d表示固定输出两位
}
printf(" "); //打印到行尾,换行
}
printf("This is the end. ");
}

1.1.2实验代码截图

1.1.3 造测试数据

1.1.4 PTA提交列表及说明

Q1:部分正确
A1:i和j没有弄清行列
Q2:部分正确
A2:同上
result 2:最后答案正确

1.2找完数 (20 分)

所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。

输入格式:
输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。

输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。

输入样例:
2 30
输出样例:
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14

1.2.1数据处理

数据表达:定义了n,m,i,j,s,count6个整形变量,其中count是用来统计出现的完数个数 ,n,m为题目给出范围,s用来累加,i,j是用来一个一个找完数的
数据处理:
int n,m,i,j,s,count=0;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++){
s=1;
for(j=2;j<i;j++) //因子数之和
if(i%j0) s=s+j;
if(s
i){ //之和相等,即是完数
printf("%d=1",i); //每一项都有1
for(j=2;j<i;j++)
if(i%j0)
printf("+%d",j); //之后再加上后面的因子
printf(" ");
count++;
}
}
if(count
0) printf("None "); //count是用来统计出现的完数个数
return 0;
}

1.2.2实验代码截图

(此代码参考过C语言实验指导的改错题)

1.2.3造数据测试


1.2.4 PTA提交列表及说明

说明:Q1:编译错误
A1:+%d没有把+和%d空开
Q2:编译错误
A2:同上
Q3:编译错误
A3:%d和=和1都要空格开
Q4:编译错误
A4:也是没有空格的地方

2.代码互评

同学的题目代码

(num1)

(num2)

我的题目代码

说明比较不同与相同:num1和我的区别在于她的代码超级长,我的比较简短,内容其实大同小异
num2和我的区别在于她用了flag标记了一下,她用了if-else和for循环,而我也是,我觉得她的很多大括号是不必要的,造成了代码冗长,
看起来不舒服,她们俩都定义了比我多的变量

学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
9.16~9.22 5h 16 刚开始了解如何编程 编译的单词和字母数字都有哪一些作用,编译整个过程又是如何运行的
9.23~10.6 28h 32 学会如何运用markdown语法 为什么会这么难
10.7~10.11 40h 211 学会了编程的数学函数,对PTA也更熟练了 好折磨人
第4周/10月10~17 两天半 183 掌握并学会使用for循环语句 还有多种循环语句不了解,循环结构和分支结构谁先编
10.20-10.26 俩天 192 定义和调用函数,以及如何在一个函数中调用另一函数 生成乘方表跟阶乘表这方面的内容还有很多不懂的,觉得完成作业很费力气
10.27~11.2 两天半 220 如何进行语句的嵌套,对运算符的等级高低有所了解,熟悉多分支结构、字符型数据类型和逻辑运算符 do语句和do-whlie语句搞不清
11.4~11.10 俩天 256 学会switch语句 很多地方不明白,一俩句话讲不清楚
11.11~11.17 俩天 273 学会了while循环,并区别do-while和while 学习新的东西,然后对数组有疑惑
11.18~11.24 俩天 286 学会continue的使用,并且熟练,学数组 对数组还有一点点不懂

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

这次作业非常的赶,因为PTA非常的难,题意的理解还需要数学好,逻辑思维要求也比较高,导致最初是怯场,再后来就是发现题意有时候难以理解,PTA迟迟搞不完,
我还是觉得自己落下的东西比较多,还要自己经常抽一些零碎时间学习一下不懂的地方,给自己补补课,然后就是我也应该用心总结一下,分好类,哪个地方掌握的还可以,
哪个地方还有待加强,,再就是PTA要多弄懂点题目,实在不会可以选择多问问的方法了,问题不能越积越多,尽早解决。

原文地址:https://www.cnblogs.com/liwenweiboy/p/11913321.html