C语言I博客作业10
一.表格
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I博客作业10 |
我在这个课程的目标是 | 熟练的运用与掌握计算机系统和C语言知识 |
这个作业在那个具体方面帮助我实现目标 | 加强嵌套循环和定义字符型的使用 |
参考文献 | 《C语言程序设计》、《C Primer Plus》 |
二.本周作业
1. PTA实验作业(20分/题)
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分)
1.1 题目名1
1.1.1数据处理
数据表达:先根据题目定义整型变量n表示-----一个正整数n,以及count = 0。
数据处理:(伪代码如下)
定义变量n、以及 count = 0
输入正整数n
进入for嵌套循环
for (int i = n; i > 0; i--) {
for (int j = 0; j < i; j++) {
输出结果
printf("%c ", 'A' + count);
输出结果为字符型数据所以应用 "%c "
程序结束
**1.1.2实验代码截图 **
1.1.3 造测试数据
1.1.4 PTA提交列表及说明
答案正确:......
1.2 题目2
1.2.1数据处理
数据表达:先根据题目要求定义整型变量 梅森数num,正整数n, i,j,f=0 。
数据处理:(伪代码如下)
定义数学函数
定义变量 梅森数num,正整数n, i,j,f=0
输入正整数n
进入for嵌套循环
for(i=2;i<=n;i++){
num=pow(2,i)-1;
表示
for(j=2;j<=sqrt(num);j++)
输出结果
printf("%d*%d=%-4d",j,i,i*j);
if(num%j==0) break;
如果取余=0的话则跳出循环
if(j>sqrt(num)){
printf("%d\n",num);
如果满足if中的条件则输出
f++;
if(f==0) printf("None");
换行输出
程序结束
1.2.2 实验代码截图
1.2.3 造测试数据
1.2.4 PTA提交列表及说明
编译错误:用法错误,一开始写的时候并没有想用数学函数来做后来做的时候再改的,所以我没有在一开始定义函数 #include<math.h> 。
答案正确:........
1.3题目3
1.3.1数据处理
数据表达:先定义一个数学函数 Number ,定义整型变量 a,b。
数据处理:(伪代码如下)
自定义函数
int Number(int a)
定义变量
while(a!=0){
开始 while循环判断a是否等于0
if-else语句判断
if(b%10!=a%10){
b除10取余不等于a除10取余
return 0;
else{
若b除10取余等于a除10取余
b=b/10;
a=a/10;
return 1;
int main()
for(int i=1; i<1000; i++){
进入for循环判断同构数
if(Number(i)){
若满足同构数的条件则输出
printf("%6d", i);
因为在一行中输出所有满足条件的同构数,每个数输出占6列所以是 "%6d"
程序结束
1.3.2 实验代码截图
1.3.3 造测试数据
1.3.4 PTA提交列表及说明
格式错误:我打的一开始不小心多打了一个空格导致 “!=” !和 = 分开了,所以格式错误。
格式错误: 将上个错误改正后再次提交但是还是格式错误,放到 Dev-C++ 上运行发现输出结果与输出样例不同,再次读题发现在一行中输出所有满足条件的同构数,每个数输出占6列。所以将输出代码改为 "%6d" 。
答案正确:将这个错误改正后提交显示答案正确。
2.代码互评(5分)
同学代码截图1
自己代码截图1
比较:
1.同学代码是使用了表达式 i==i*i%10||i==i*i%100||i==i*i%1000 来表达判断是否为同构数的条件,但是我是使用的自定义函数来编写的。
2.两份代码在本质和使用意义上是一样的,但是我感觉思考方向上是有些不同的。
3.同学代码在代码行数上是更简洁的,相对于我的代码是更简单。
同学代码截图2
自己代码截图2
比较:
1.同学代码在开始先定义字符型变量,但是我的是在输出的时候进行字符型输出。
2.这样相较而言,我感觉我的代码写起来就比较方便简洁。
3.学习总结(15分)
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周/9-19 | 这周花了大约三天 | 30 | Hello world编程 | 无 |
第二周/9-25 | 这周花了大约三天 | 50 | 华氏度与摄氏度 | 无 |
第三周/10-9 | 这周花了大约三天 | 100 | 目前是常量,变量的应用以及分段函数中的 if-else 的使用 | 在PTA的使用中明明答案没有问题但就是显示各种问题,在写博客园时对表格以及格式的编辑总是l力不从心! |
第四周/10-15 | 这周花了大约两天 | 150 | for语句循环体的使用 | 各种变量,语句的使用会混乱 |
第五周/10-24 | 这周花了大约三天 | 140 | 阶乘的编程,自定义函数 | 参数的设定 |
第六周/10-31 | 这周花了大约三天 | 200 | 多分支结构和else-if语句 | 字符型数据 |
第七周/11-6 | 这周花了大约三天 | 210 | switch语句 | switch语句如何更好的与for语句、if-else语句连用 |
第八周/11-13 | 这周花了大约两天 | 150 | while语句和do-while语句 | 字符型具体表达 |
第九周/11-21 | 这周花了大约三天 | 190 | break语句和continue语句以及嵌套循环 | continue语句的使用 |
第十周/11-26 | 这周花了大约三天 | 160 | 嵌套循环和字符型使用 | 格式错误的真谛 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1.在本周中学习中复习了上周的知识,重点又讲解了嵌套循环的实际应用与操作以及在PTA上的作业讲解。
2.我在课堂上主要学习到了如何在代码中加入自己的理解和思考。另外,我在听助教讲解题目时,也知道了写代码时可以把代码分开写分为各个版块来写。
3.还有大概两周就要考试了,所以在写代码的方面上我还应该再加把劲!