码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--数据类型

时间:2017-11-26 13:50:21      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:min   实现转置   情况   数据类型   数组   效率比较   提交   除法   技术   

一、PTA实验作业

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

1. 本题PTA提交列表

技术分享图片

2. 设计思路

定义整型变量a储存输入的区位码 定义整型变量b,c分别储存区码跟位码
输入区位码并储存于a中
c=a%10+(a/10%10)10;//取出a的每位数并分别存入b,c中
b=a/100%10+(a/1000%10)
10;
putchar(160+b);//输出
putchar(160+c);

3.代码截图

技术分享图片

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

技术分享图片
本题遇到主要是没有读清题意区位码没有一次输入导致答案错误

题目2:7-3 倒顺数字串

1. 本题PTA提交列表

技术分享图片

2. 设计思路

int n,i=1; n用来储存范围,i是循环数
输入n
while(i<n){//当i小于n时依次输出i
printf("%d ",i);
i++;}
i=n
当 i大于0时依次输出i
当i=1时去掉空格

3.代码截图

技术分享图片

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

技术分享图片
由于i=1时没有去空格导致格式错误

题目3:7-10 简单计算器

1. 本题PTA提交列表

技术分享图片

2. 设计思路

int n,m,result=0;//n,m用来储存要计算的数 result用来储存运算结果
char ch;//用来储存运算符
执行一个循环来进行计算 输入等号时循环结束
if(ch==‘/‘&&m==0||ch!=‘+‘&&ch!=‘-‘&&ch!=‘*‘&&ch!=‘/‘){//如果除法分母为0或有非法运算符,则输出错误信息“ERROR”
判断运算符并进行计算
n=result;//运算完后令n= result
输出结果

3.代码截图

技术分享图片

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

技术分享图片
技术分享图片
本题遇到的主要问题是一次运算后没有让运算数n=result来储存结果,通过调试解决。

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

技术分享图片

三、本周学习总结

1.你学会了什么?

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

定义整型数组并对其进行初始化 例如 int a[2]={1,2};

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

在内存中的储存结构是线性的 而且是依次排列的 数组名是第一个元素的地址 。

1.3 为什么用数组?

节省内存,而且使用数组会让程序变的简单,而且避免了定义多个变量的麻烦。

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

(1)选择法排序
1.定义整型变量i,min,k,n,temp
2.定义数组a[10]
3.输入整数n
4.令i=0
5.当i<n时,输入数,i++
6.将输入的数依次存给数组a的n个元素
7.当k=0;k<n-1,用min来存放最小值
8.判断数组a中元素与a[min]大小
9.如果a[i]<a[min],min=i,最小元素与下标为k的元素交换
10.temp=a[min];
11.a[min]=a[k];
12.a[k]=temp;
13.输出排序后的数
(2)冒泡法排序
1.定义数组a[n]
2.定义整型变量i,j,temp,n
3.令i=0
4.当i满足<=n-1时
5.输入数a[n]
6.使i++
7.将这组数据依次赋值给a[n]
8.判断相邻俩个数据,如果a[j]>a[j+1],进行交换
9.temp=a[j]
10.a[j]=a[j+1]
11.a[j+1]=temp
12.进行q-i次该步骤,可进行排序
(3)直接插入法排序
1.定义数组a[n]
2.定义整型变量i,j,k,min
3.i=0;
4.满足i<=n-1时
5.输入数a[n].
6.i=0;
7.min表示最小值
8.判断数据a[j]和min的大小
9.如果min<a[j],a[j]=min
10.通过a[k+1]=a[k]将数据逐渐移动
11.重复n-1次进行排序

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

对于长度为n的有序数组,用二分法的思想,逐步拆分成在很小数组内找解
我认为顺序查找法效率比较低而二分法查找的话比较快

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

跟一维数组一样直接定义数据类型的数组
(1)在定义时可以直接赋值来初始化
(2)在定义后可以为其元素一个个来赋值
例如int a[2][2]= { { 1, 2}, { 5, 6 } };

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

定义两个数组分别用来储存转置前与转置后的矩阵分别将两个数组的行下标与列下标互换即可实现转置
下三角i<=j 上三角i>=j

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

主要用于描述表结构或者表示方阵与矩阵

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

对于冒泡排序法,选择排序,插入排序还掌握得不太熟练,对于二分法查找还不是太清楚。

C语言博客作业--数据类型

标签:min   实现转置   情况   数据类型   数组   效率比较   提交   除法   技术   

原文地址:http://www.cnblogs.com/llg202827372/p/7898696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!