C语言博客作业--数据类型
一、PTA实验作业
题目1:倒顺数字串
1. 本题PTA提交列表
2. 设计思路
- 第一步:定义整形变量n,i
- 第二步:输入用户给定的数值n
- 第三步:for(i=1;i<n;i++) printf("%d",i);putchar(' ');
- 第四步:if(i==n) printf("%d",n);
- 第五步:for(i=n-1;i>=1;i--) putchar(' '); printf("%d",i);
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
在末尾的数后面没有空格,而我跟了一个空格,格式错误,看了马上改过来了
题目2:发红包
1. 本题PTA提交列表
2. 设计思路
- 第一步:定义整型变量i为金额,hurd=0,fifty=0,twenty=0,ten=0,five=0,twe=0,one=0;
- 第二步:输入金额i,要是使张数最少,则金额面大的应越多。
- 第三步:hurd=i/100;i=i%100;fifty=i/50;i=i%50;twenty=i/20;i=i%20;ten=i/10;i=i%10;five=i/5;i=i%5;twe=i/2;i=i%2;one=i;
- 第四步:输出张数情况,输出是要用%3d使使数额对齐。
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
本题错了三次的原因是在于输出是的:用了中文的符号,使得答案错误。
题目3:判断合法标识符
1. 本题PTA提交列表
2. 设计思路
- 第一步:定义整形变量repeat,i,flag和count来判断字符的合法性;定义字符型变量ch
- 第二步:输入repeat,i=1;
- 第三步:ch=getchar(); 判断(ch=='_'||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))若是进行第四步;不是则进行第六步;
- 第四步:do{
ch=getchar();
if(ch'_'||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9')||ch'\n') {count=count;}
else {flag++;}
} while(ch!='\n'); - 第五步:如果flag==0;则表示没有不合法的,输出Yes;否则输出No;
- 第六步:输出No
- 第七步:当i<=n时,i++,返回第三步
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
明明感觉全是对的啊,然后提示答案错误,我做了一天多,后面还是借鉴了同学的代码。
二、截图本周题目集的PTA最后排名
三、本周学习总结
1.你学会了什么?
1.1 一维数组如何定义、初始化?
一维数组就是定义成int a[n];n为数值,必须先给定一个n才能定义;如果没有给定数值,则默认数组内的值全为0;
1.2 一维数组在内存中结构?可画图说明。数组名表示什么?
一维数组的下标从0开始到n-1;数组名是一个指针,表示数组的首元素的地址
1.3 为什么用数组?
数组大大简化了定义变量的数量,使程序的可读性更高
1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示.
1.选择法
- 第一步:给定一个n,定义数组a[n],number,i,k,j;
- 第二步:i=0,i<n,输入a[i];
- 第三步:将number=a[0];
- 第四步:k=1;k<n-1;k++, 比较number与a[k]的大小,如果number>a[k],则number=a[k];min=j;
- 第五步:分别排序
2.冒泡法
- 第一步:给定n个数,定义数组a[n],i,k,number;
- 第二步:for(i=0;i<n;i++)
for(k=i;k<n;k++){
if(a[k]>a[k+1]) {number=a[k+1];a[k+1]=a[k];a[k]=a[k+1] - 第三步:排序即可
3.直接插入法
for 1 to n{
num=a[i]; for k=k-1 to k>=0且k>a[k]
a[k+1]=a[k]
a[k+1]=num;}
1.5 介绍什么是二分查找法?它和顺序查找法区别?
二分查找法需要那一些数按顺序排列,然后从中间插入,判断大小在取二分段;重复
顺序查找法师一个一个比较然后再插入
1.6 二维数组如何定义、初始化?
a[i][j] i,j是已有的数,i为行,j为列;若没有给定数值则默认全为0
1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?请说明。
交换i j 数值及num=a[i][j],a[j][i]=num,a[i][j]=a[j][i]
1.8 二维数组一般应用在哪里?
例如表格式,矩阵式的适用
2.本周的内容,你还不会什么?
pta的写个tokenizer吧还是不懂,还有第八题的感觉不知道错在哪里,第八题我弄在了PTA题目三那里