C语言I博客作业08

这个作业属于哪个课程 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 代码截图
C语言I博客作业08

1.1.2 数据处理

数据表达:定义变量m,n用来输入区间;变量middleman和sum作数据处理
数据处理:for循环将变量middleman作为中间商把m至n的每一个数的每一位加给变量sum;for里嵌套的if判断是否满足水仙花数

1.1.3 PTA提交列表及说明
C语言I博客作业08

1.2 输出三角形字符阵列

本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式:

输入在一行中给出一个正整数n(1≤n<7)。

输出格式:

输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

输入样例:

4
结尾无空行

输出样例:

A B C D 
E F G 
H I 
J 
结尾无空行

1.2.1 代码截图
C语言I博客作业08

1.2.2 数据处理

数据表达:定义了整型变量n,j,ret;并将变量j初始化为0,ret初始化为n;定义一个字符数组a,用来存放字母
数据处理:创建一个函数用来求n所要输出的字母总数,for循环用来控制输出,当输出个数达到ret(也就是n),输出一个换行符,ret再减一,j变为0

1.2.3 PTA提交列表及说明
C语言I博客作业08

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 代码截图
C语言I博客作业08

1.3.2 数据处理

数据表达:用了变量n,i,j,k,c。其中n,i,j,k都为整型变量;c为字符型变量。c表示可见字符为填充字符,n表示输入的整数,为菱形的边长
数据处理:用while循环进行多组输入,在while循环中再进行嵌套for循环输出空格与对应的字符

1.3.3 PTA提交列表及说明
C语言I博客作业08

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 代码截图
C语言I博客作业08

1.4.2 数据处理

数据表达:定义了变量n,i,n从键盘输入,i用来输入六位数的个数;
定义了char类型数组a,用来输入六位数。
数据处理:scanf输入n,getchar吃掉回车,for循环里用gets输入n个六位数,对每个六位数进行判断。

1.4.3 PTA提交列表及说明
C语言I博客作业08
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分)
C语言I博客作业08

2.3 学习内容总结和感悟(5分)
学习内容总结:
这周基本上没学什么新东西,都是在刷题。
专业课上简单学了操作系统。
感悟:
看了学习指针的视频和相关书籍,自己还是不会运用指针做题,太难了,指针又是一块难啃的骨头,同时深入学习计算机不仅要会实际操作还要掌握理论知识,两者都要不断学习,两者兼备才有更加光明的未来。

上一篇:Unity对子物体的深度优先遍历


下一篇:SQL基础--> 约束(CONSTRAINT)