这个作业属于哪个课程 | https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17328 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/603798003 |
这个作业的目标 | <学习C语言> |
学号 | <20218627> |
C语言I博客作业10
1. PTA作业
1.1 7-1 求一批整数中出现最多的个位数字
题目详情:
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。
输入格式:
输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。
输出格式:
在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。
1.1.1 代码截图
1.1.2 数据处理
数据表达:
定义了整型变量i,n,num,max,a,整形数组arr。i为for循环的控制变量初始赋值0递增,根据需求分别递增到n-1,9时结束for循环。n,num的值由输入得到。arr[0]赋给max,a储存num除以10余数。arr初始化所有元素为0。
数据处理:
输入一个小于1000的数储存于n,n为第一个for循环的循环次数。第一个for循环嵌套if,while语句用于输入n个数将n个数分别拆分各位于数组对应下标元素计数。第二个for嵌套if用于寻找重复次数最多的数。第三个for嵌套if用于将出现次数最多的个位数字,按从小到大的顺序排列。
1.1.3 PTA提交列表及说明
部分正确: 没有考虑输入0时的情况。
1.2 选择法排序
题目详情:
本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
1.2.1 代码截图
1.2.2 数据处理
数据表达:
定义了整型变量n,i,j,t;整形数组arr。n由输入得到,i,j为for循环的控制变量初始赋值分别为0,i+1;t作为中间变量未赋值;arr数组各元素值由输入得到。
数据处理:
第一个for循环输入n(小于10)个储存于数组arr中;第二个for循环嵌套for,if语句用于将数组arr中元素从大到小有序的排列。第三个for循环用于将数组arr中元素按要求打印
1.2.3 PTA提交列表及说明
格式错误: 输出的空格位置不符合要求,发现后改正。
2. 学习总结
2.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十五周 | 5h | 100 | 一维数组的创建初始化与使用,选择排序法 | 函数的递归 |
2.2 累积代码行和博客字数
2.3 学习感悟
数组是通过下标来进行访问的,在内存中是连续存放的。
数组名是首元素的地址,但有两个例外:
- sizeof(数组名):计算整个数组的大小,单位为字节。
- &数组名:取出的是数组的地址
除此两例,所有的数组名都表示首元素的地址。