一、PTA实验作业

题目1:7-2区位码输入法

1.本题PTA提交记录

2.设计思路

1.int dist存放区码,posi存放位码,n为一个整数
2.输入四位整数n
3.dist=n/100 提取前两位数作为区码
4.posi=n%(n/100) 提取后两位作为位码
5.区码和位码加上160输出结果

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明

  • 遇到的问题:输入的整数为区码,并非区码和代码
  • 解决方法:将输入的整数分为前后两部分,各两位数即可

题目2:7-6掉入陷阱的数字

1.本题PTA提交记录

2.设计思路

1.定义整型变量flag和sum1存放N的值,循环变量i和k,N存放输入的整数,sum存放每位数累加之和,num1存放m的值,num2存放每一位数,count存放输入整数的位数
2.i=0,i<=10,i++
3.如果i=0,m=M,当i=2时,m的值为上一次累加后的值,flag=sum1=m
4.计算N的位数 do{num1=m/10 m=m/10 count++}while(m!=0)
5.k=1,k<=count,k++
6.取出N的每一位数进行累加 num2=sum1%10 sum1/=10 sum+=num2
7.计算累加后n的值
8.如果flag=n,则输出后停止程序,否则输出后另初始化count和sum的值后继续循环

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明

  • 遇到的问题:忽略了0的运算
  • 解决方法:将i的初值改为0,判断条件改成i=0,同时输出结果的i改成i+1即可

3.7-10简单计算器

1.本题PTA提交列表

2.设计思路

1.char op存放运算字符,int a存放第一位输入的数字,b存放第一位之后输入的数字,flag存放判断是否输入ERROR
2.输入a
3.while(op!=‘=’)输入op
4.如果op='=',a=a+b;如果op=’+‘,a=a+b;如果op=’-‘,a=a-b;如果op=‘/’且a=0,flag=1;如果a!=0,a=a/b;如果op为非法字符,flag=1
5.判断flag的值,flag=1,输出ERROR;否则输出a的值

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明

  • 遇到的问题:1.忽略了除数为0的情况 2.输出ERROR没有换行导致格式错误
  • 解决方法:1.将a==0改为b==0 2.输出ERROR后换行即可

二、截图本周题目集的PTA最后排名

三、本周学习总结

1.你学会了什么?

1.1 一维数组如何定义、初始化?

定义:类型名 数组名 [数组长度];数组长度是一个常量
初始化:类型名 数组名 [数组长度]={初值表},例如inta a[10]={1,2,3,4,5,6,7,8,9,10}

1.2 一维数组在内存中结构?可画图说明。数组名表示什么?

  • 数组名是一个地址常量,存放数组内存空间的首地址

    1.3 为什么用数组?

  • 在程序中使用数组,可以让一批相同类型的变量使用同一个数组变量名,用下标来互相区分,他的优点是表达简洁,可读性好,便于使用循环结构

    1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示.

一、冒泡法
例如输入五个数进行排列 5 2 1 3 4
1.int 循环变量i和j,temp存放相邻两个数中较小的数
2.int a[5]={5,2,1,3,4}
3.for(i=0;i<4;i++)共进行N-1次排序
4.for(j=0;j<i-1;j++)已经排好的数不参与比较
5.如果前一项大于后一项 temp=a[n] a[j]=a[j+1] a[j+1]=temp
6.排序完成后,for(i=0;i<5;i++)输出排序好的数字

二、选择法排序
例题如上
1.int a[5]={5,2,1,3,4} 循环变量i,j,k temp存放参与比较的两个数的较小值
2.for(i=0;i<4;i++)共进行四趟排列
3.k=i 当进行第i趟时,比较数的下标为i
4.for(j=i+1;j<4;j++)后面的每一位被比较数都跟最前面的数比较
5.如果a[j]<a[k] k=j 如果比最前面的数还小,记录其下标
6.temp=a[k] a[k]=a[i] a[i]=temp 将最小值排到最前面
7.for(i=0;i<5;i++)输出排列好的数字

三、直接插入排序法
例题如上

1.int a[5]={5,2,1,3,4}循环变量i,j index存放下标 temp存放较小值
2.for(i=0;i<4;i++)index=i 进行四趟排序,假设最小值的下标为i
3.for(j=i+1;j<=4)查找最小值所在的下标
4.如果a[j]<a[index] index=j 记录最小值的下标
5.如果a[index]不等于a[i] temp=a[i] a[i]=a[index] a[index]=temp
6.for(i=0;i<5;i++) 输出排列好的数字

1.5 介绍什么是二分查找法?它和顺序查找法区别?

二分查找(Binary Search)
二分查找又称折半查找,它是一种效率较高的查找方法。
二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。顺序查找的基本思想:从表的一端开始,顺序扫描线性表,依次将扫描到的结点关键宇和给定值K相比较。若当前扫描到的结点关键字与K相等,则查找成功;若扫描结束后,仍未找到关键字等于K的结点,则查找失败。二分查找法和顺序查找法的区别:当查找数列是有序的话,使用二分查找法可以极大的减少搜索时间,提高效率;而顺序查找法需要耗费大量的时间和内存逐个搜索关键词。

1.6 二维数组如何定义、初始化?

定义:二维数组定义的一般形式是: 类型说明符 数组名[常量表达式1][常量表达式2]其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:
inta[3][4];说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:

初始化:二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如对数组a[5][3]:
按行分段赋值可写为:
int a[5][3]={ {80,75,92}, {61,65,71}, {59,63,70}, {85,87,90}, {76,77,85} };
按行连续赋值可写为:
int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};这两种赋初值的结果是完全相同的

1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?请说明。

矩阵转置:以主对角线为对称轴,将所有元素互换位置
下三角:i>=j
上三角:i<=j
对称矩阵:i==j

1.8 二维数组一般应用在哪里?

二维数组一般应用在二维表和矩阵中

2.本周的内容,你还不会什么?

  • 输入一串字符、判断字符个数这类题目还不是很熟练,思路比较不灵活,做一题需要挺久的时间,PTA数据类型和数组有这类型的题目要多多练习
  • 素数判断的条件偶尔会写错,还需要在加强巩固一下
  • 位运算符不怎么理解其原理,经常判断错误
  • 利用函数调用二维数组数组时,实参定义错误,如int sum(int a[10][10],int n)写成int sum(int a[n][n],int n
  • PTA题目虽然能做完,但是消耗的时间太多了,效率太低了,上机考试每次都做不完
  • 期中考试成绩很不理想,书上的知识点很多都没理解透彻,而且读代码能力也不好,导致笔试的时候做题速度大大降低,我决定要更加的努力才能弥补我之前浪费的时间落下的知识点

转载于:https://www.cnblogs.com/ljy1999/p/7882042.html

C语言博客作业--数据类型相关推荐

  1. C语言博客作业--函数

    C语言博客作业--函数 一,PTA实验作业 6-2 简单实现x的n次方 1.本题PTA提交列表 2.设计思路 double mypow( double x, int n )函数 (1)定义y=1,i用 ...

  2. C语言|博客作业06

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 这个作业要求在哪里 https://bbs.csdn.net/topi ...

  3. C语言|博客作业05

    C语言|博客作业05 这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 这个作业要求在哪里 https://bbs.cs ...

  4. C语言|博客作业04

    C语言|博客作业04 1. 完成云班课的知识点总结作业,并给出截图. 2. 学习总结 这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeI ...

  5. 【C语言博客作业06】

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17328 这个作业要求在哪里 https://bb ...

  6. c语言中11 3等于多少,C语言|博客作业11

    一.本周教学内容&目标 第5章 函数 要求学生掌握各种类型函数的定义.调用和申明,熟悉变量的作用域.生存周期和存储类型. 二.本周作业头 三.本周作业 1.PTA实验作业 请再此处列出自己的排 ...

  7. C语言|博客作业09

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17321 这个作业要求在哪里 https://bb ...

  8. C语言博客作业06--结构体文件

    1.本章学习总结 1.1 思维导图 1.2 本章学习体会 最近学习了结构体.链表和文件的运用,结构体那一部分大体上都能掌握,但是文件那一部分,函数.知识点比较多,掌握得还不够熟练,一些比较复杂和难的部 ...

  9. C语言|博客作业10

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17321 这个作业要求在哪里 https://bb ...

最新文章

  1. 如何解决Android 5.0中出现的警告:Service Intent must be explicit
  2. 在Android命令行启动程序的方法
  3. IntelliJ IDEA 14.0 添加及显示 JDK DOC
  4. kernel笔记——库文件与系统调用
  5. anaconda安装numpy_Windows安装cpu版pytorch和tensorflow
  6. 设计模式学习笔记(二十:享元模式)
  7. 统计系统所有进程总共占用多少内存
  8. linux VIM 命令详解
  9. mac linux 引导分区,Paragon ExtFS For Mac v10.0.829 | Linux分区数据读写驱动 _ 黑苹果乐园...
  10. iOS12正式版:支持Siri捷径
  11. 无线通信与生活-(1)
  12. 全部希腊字母读音-数学公式中常用
  13. Linux 安装DockerMysql
  14. 三次样条曲线 python实现
  15. 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码
  16. 通过创建script标签来引入外部js
  17. 微软快捷键截图_所有最好的Microsoft Word键盘快捷键
  18. 网上做什么赚钱现在,这4个赚钱小项目分享给你!
  19. 每日一题之 hiho235周 润秒(简单模拟)
  20. 解决固网 HU-1608n 更换主板后不能打印的问题

热门文章

  1. 为Office365增加密码过期自动提醒功能
  2. Keras下载的数据集以及预训练模型保存在哪里
  3. 操作系统——文件合并
  4. css--小白入门篇3
  5. 分层应用——怎样实现登录?
  6. 射频识别技术漫谈(14)——S50与S70存取控制【worldsing笔记】
  7. MyEclipse编码设置,中文乱码解决方法,UTF-8,GBK(转)
  8. 编译glib-1.2.20-r5出错./libtool: line 297
  9. Html5页面和Native App怎么进行交互
  10. 用 FileZilla 连接 Amazon 的aws的主机