C语言I作业10
一、本周作业头##
这个作业属于那个课程|C语言程序设计II
--|:--😐:--
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
我在这个课程的目标是|熟练掌握好C语言,培养自己的思维能力,同时加快敲代码速度。
这个作业在那个具体方面帮助我实现目标|可以帮助进行的字符编程的运用
参考文献|百度百科、CSDN博客、C语言程序设计
二、本周作业##
1.PTA实验作业####
1.1 输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式####
输入在一行中给出一个正整数n(1≤n<7)。
输出格式####
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:####
4
输出样例####
A B C D
E F G
H I
J
1.1.1数据处理####
数据表达:用了char x='A';int i,j,n;其中char x='A'表示定义字符X且赋值为A,i,j分别表示循环起点,n表示输入的整数。
数据处理:
Begin
#include<stdio.h>
int main ()
{
char x←'A';
int i,j,n;
scanf("%d",&n);
for i←1 to n
for j←1 to n-i+1
printf("%c ",x);
x←x+1;
}
printf("\n");
}
End
1.1.2实验代码截图#####
1.1.3 造测试数据####
输入数据|输出数据|说明
--|:--😐:--😐:--
n=4||该三角形行有四行
n=5||该三角形行有五行
n=6||该三角形行有六行
1.1.4 PTA提交列表及说明####
格式错误:printf("%c ",x);写成了printf("%c",x);
格式错误:printf("%c ",x);写成了printf(" %c ",x);
**梅森数 **####
输入格式####
输入在一行中给出正整数n(n<20)。
输出格式####
按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。
输入样例:####
6
输出样例####
3
7
31
1.2.1数据处理####
数据表达:int n,i,j,number,count=0;其中n代表输入的正整数,i,j代表循环起点;number代表梅森数;count代表梅森数的个数。
数据处理:
Begin
#include<stdio.h>
#include<math.h>
int main ()
{
int n,i,j,number,count=0;
scanf("%d",&n);
for i←2 to n
number=pow(2,i)-1;
for j←2 to number/2
if number%j ← 0
break;
if(j>=number/2){
printf("%d\n",number);
count++;
}
}
if count ← 0
printf("None");
}
End
1.2.2实验代码截图#####
1.2.3 造测试数据####
输入数据|输出数据|说明
--|:--😐:--😐:--
n=6||当n=6时有三个梅森数
n=1|None|当n=1时,1不属于素数,所以无梅森数。
n=8||当n=8时有四个梅森数
1.2.4 PTA提交列表及说明####
答案错误:这个题我是一直在Dev上运行然后再放到PTA上的,所以没有错误,但在用Dev运行的时候,我开始无论怎么修改for循环语句中的语句答案输出都是None;
开始以为是判断素数的条件写错了,又翻了下书本内容发现并没有什么错误,后来根据一个循环一个循环来看,发现第一个循环后面忘打了大括号,导致后面的语句都
没有执行,以至于答案一直都是None。
3.1本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式####
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。
输出样例####
1 5 6 25 76 376 625
1.3.1数据处理####
数据表达:用了int i,num;其中i代表循环起点,num代表同构数。
数据处理:
Begin
#include<stdio.h>
#include<math.h>
int main ()
{
int i,num;
for i←1 to 1000
num ← pow(i,2);
if num%10 ← i||num%100 ← i||num%1000 ← i
printf("%6d",i);
}
End
1.3.2实验代码截图#####
1.3.3 造测试数据####
输入数据|输出数据|说明
--|:--😐:--😐:--
无| 1 5 6 25 76 376 625|同构数有 1 5 6 25 76 376 625
1.2.4 PTA提交列表及说明####
编译错误:开始定义时定义的是number,后再取余的时候使用的是num。
编译错误:多定义了一个j,却没有使用j.
格式错误:printf("%6d",i);写成了printf("%d",i);导致格式错误。
答案错误:在修改的过程中,不小心把for循环后的大括号去除了。
2.代码互评###
自己代码|同学代码
--|:--😐:--
|
不同点:####
1.该同学使用了自定义函数使程序变得更加简单,而我是使用循环的嵌套直接作答。
2.但是该同学使用自定义函数多用了一个循环,在运行的速度上面我的要快一些。
自己代码|同学代码
--|:--😐:--
|
不同点:####
1.我的代码定义的是字符A,而该同学运用字符型定义x=64而字符A的ascll值就是64。表达方式不一样
2.我的代码中for(j=1;j<=n-i+1;j++)而该同学的是for(j=1;j<=n-i;j++),我的j<=n-i+1表示当n等于i时,还能取j=1。
3.学习总结###
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/8-10/12 | 5h | 224 | if-else语句和输入输出格式 | 变量的处理 |
10/13-10/18 | 12h | 263 | for循环语句,如何计算累加题 | 不知道什么时候用include<math.h> |
10/19-10/26 | 15h | 334 | 如何编写自定义函数及更加熟练掌握for循环 | 自定义函数的使用 |
10/26-11/2 | 14h | 355 | 如何使用逻辑表达式及else-if语句 | 如何去寻找else-if之间的关系 |
11/2-11/8 | 13h | 284 | 如何使用switch语句 | switch语句与for循环同用时的关系 |
11/9-11/15 | 16h | 231 | 使用while语句以及字符型变量的输入输出,#include<string.h>的使用 | 数组的使用 |
11/16-11/22 | 10h | 203 | 使用循环的嵌套解决问题,以及break,continue语句 | 在多个循环中如何输出换行 |
11/23-11/29 | 12h | 326 | 通过使用字符型变量进行解题 | 字符的输入与输出 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这周的学习,相当又重新的把以前的知识点进行了一遍巩固,依然是使用for循环进行解决问题;同时又用到了以前所学习的知识,比如while语句;以及素数判断的条件;
然后现在更加注重的就是基础知识;只有好好地学习好了基础知识才能更加轻松的学习以后的知识。所以要不断的去复习之前所学习到的知识,温故才能知新。并且同时
要加强手写代码的能力,以及学会如何进行调试。