一、PTA实验作业
题目1:出生年
1. 本题PTA提交列表
2. 设计思路
输入y,n。
for i=y to i<10000.
将各位数分别赋予a,b,c,d。
定义数组f[10]={0}。
f[a]=1;f[b]=1;f[c]=1;f[d]=1;
定义sum=0;
for j=0 to j<10.
sum=sum+f[j];
如果sum==n,输出i-y,i,并用break结束循环。
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 不知道怎么补0,解决方法是问同学。
- 程序会进入死循环,解决方法是用break结束。
题目2:将数组中的数逆序存放
1. 本题PTA提交列表
2. 设计思路
定义i,j,n;
输入n;
定义a[n];
for i=0 to i<n
输入n个数;
for j=n-1 to j>=0
如果j==n-1 输出a[j];
否则输出空格+a[j];
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 没有注意行末不得有多余空格,解决方法是先输出最后一个数,然后依次倒序输出空格加剩余数。
题目3:数组循环左移
1. 本题PTA提交列表
2. 设计思路
定义i,n,m,k;
输入n,m;
定义a[n];
for i=0 to i<n
输出n个数;
m=m%n;
输出a[m];
for i=m+1 to i<n
输出空格+a[i];
for i=0 to i<m
输出空格+a[i];
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 没有注意多余空格,解决方法是先输出a[m],再输出其他数。
- 没有考虑到m>=n的情况,解决方法是m=m%n。
二、截图本周题目集的PTA最后排名
三、同学代码结对互评
1.互评同学名称
2.我的代码、互评同学代码截图
- 我的代码
- 他的代码
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
四、本周学习总结
1.你学会了什么?
1.1 C中如何存储字符串?
1.2 字符串的结束标志是什么,为什么要结束标志?
- 结束标志:\0
- 原因:如果没有\0,那么在使用系统函数处理字符串的时候,函数就不能准确判断字符串在哪里结束,从而可能导致数组越界。
1.3 字符串输入有哪几种方法?
- 使用循环结构和scanf("%c", )
- scanf("%s", )
- gets()
1.4 数字字符怎么转整数,写个伪代码?
1.5 16进制、二进制字符串如何转10进制?写伪代码?
定义字符数组a[100]存储16进制字符串,result为转化后结果
number=0
for i=0 to a[i]=='\0'
若a[i]为字符0到9,result=result16+a[i]-'0';
若a[i]为'a'到'f',result=result16+a[i]-'a'+10;
若a[i]为'A'到'F‘,result=result16+a[i]-'A'+10;
end
输出number
for i=0 to a[i]=='\0'
若a[i]为字符0或1,result=result2+a[k]-'0';
end
输出number
2.本周的内容,你还不会什么?
3.期中考试小结
3.1 你认为为什么没考好?
3.2 罗列错题。
- 选择题1,4,6,11,15,16,20。
- 分析题2,3。
- 填空题7,8,9,10。
- 改错题1,2。
- 编程题1,2,3。
3.3 下半学期要怎么调整C的学习?
- 认真听老师讲,上课努力做笔记。
- 认真对待作业,遇到不会的及时提问。