这个作业属于哪个课程 | https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/603607919 |
这个作业的目标 | 提高写代码能力,巩固自己的知识 |
学号 | 20218534 |
一、本周作业(总分35分)
1.PTA作业(20分)
1.1 找出三位水仙花数
本题要求编写程序,输出给定正整数M和N区间内的所有三位水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
输入格式:
输入在一行中给出两个正整数M和N(100≤M≤N≤999)。
输出格式:
顺序输出M和N区间内所有三位水仙花数,每一行输出一个数。若该区间内没有三位水仙花数,则无输出。
如果M或者N不符合题目的要求,则输出Invalid Value.
。
输入样例1:
100 400
结尾无空行
输出样例1:
153
370
371
结尾无空行
输入样例2:
500 600
结尾无空行
输出样例2:
结尾无空行
输入样例3:
990 101
输出样例3:
Invalid Value.
1.1.1 代码截图
1.1.2 数据处理
数据表达:定义变量m,n用来输入区间;变量middleman和sum作数据处理
数据处理:for循环将变量middleman作为中间商把m至n的每一个数的每一位加给变量sum;for里嵌套的if判断是否满足水仙花数
1.1.3 PTA提交列表及说明
1.2 输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
结尾无空行
输出样例:
A B C D
E F G
H I
J
结尾无空行
1.2.1 代码截图
1.2.2 数据处理
数据表达:定义了整型变量n,j,ret;并将变量j初始化为0,ret初始化为n;定义一个字符数组a,用来存放字母
数据处理:创建一个函数用来求n所要输出的字母总数,for循环用来控制输出,当输出个数达到ret(也就是n),输出一个换行符,ret再减一,j变为0
1.2.3 PTA提交列表及说明
1.3 字符菱形
根据读入的字符和边长,勾画字符菱形。
输入格式:
输入数据含有若干组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 以键盘输入^Z或遇到文件结束符时结束数据输入。
输出格式:
输出以c为填充字符,边长为n的菱形,每个菱形之后都输出一个换行符。
输入样例:
在这里给出一组输入。例如:
A 5 B 3
结尾无空行
输出样例:
在这里给出相应的输出。例如:
A
AAA
AAAAA
AAAAAAA
AAAAAAAAA
AAAAAAA
AAAAA
AAA
A
B
BBB
BBBBB
BBB
B
结尾无空行
注:建议用c++的cin处理输入数据
1.3.1 代码截图
1.3.2 数据处理
数据表达:用了变量n,i,j,k,c。其中n,i,j,k都为整型变量;c为字符型变量。c表示可见字符为填充字符,n表示输入的整数,为菱形的边长
数据处理:用while循环进行多组输入,在while循环中再进行嵌套for循环输出空格与对应的字符
1.3.3 PTA提交列表及说明
1.4 幸运彩票
彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入格式:
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。
输出格式:
对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!
;否则输出 Wish you good luck.
。
输入样例:
2
233008
123456
结尾无空行
输出样例:
You are lucky!
Wish you good luck.
结尾无空行
1.4.1 代码截图
1.4.2 数据处理
数据表达:定义了变量n,i,n从键盘输入,i用来输入六位数的个数;
定义了char类型数组a,用来输入六位数。
数据处理:scanf输入n,getchar吃掉回车,for循环里用gets输入n个六位数,对每个六位数进行判断。
1.4.3 PTA提交列表及说明
1.答案错误:刚开始写的代码一些变量初始化为0,经过一个for循环后没有再次赋值为0,导致后面的结果错了
2.部分正确:开始编写的代码还有些测试点没过,结果一样的,又没有提示,后面重新写了
3.运行时错误:a字符数组只定义了6个内存空间
2.请给出本章学习总结(15分)
2.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较困惑的问题 |
---|---|---|---|---|
10/11-10/17 | 15小时 | 135 | C语言的一些基础知识 | 无 |
10/18-10/24 | 30小时 | 304 | C语言控制语句:分支、跳转和循环 | 不同头文件的用途 |
10/25-10/31 | 45小时 | 993 | 数组函数 | 无 |
11/1-11/7 | 45小时 | 1010 | 字符串数组 | 二维数组 |
11/8-11/14 | 42小时 | 886 | 递归 | 递归的轻松运用 |
11/15-11/21 | 45小时 | 1314 | 时间与空间复杂度 | 复杂代码的时间空间复杂度判断 |
11/22-11/28 | 45小时 | 1432 | 无 | 怎样使用指针 |
2.2 累积代码行和博客字数(5分)
2.3 学习内容总结和感悟(5分)
学习内容总结:
这周基本上没学什么新东西,都是在刷题。
专业课上简单学了操作系统。
感悟:
看了学习指针的视频和相关书籍,自己还是不会运用指针做题,太难了,指针又是一块难啃的骨头,同时深入学习计算机不仅要会实际操作还要掌握理论知识,两者都要不断学习,两者兼备才有更加光明的未来。