这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11452 |
这个作业的目标 | <提前学习,找出问题,提高自身能力> |
学号 | <20208949> |
- 1.PTA实验作业(15分/题)
1.1:L1-002 打印沙漏 (20分)
1.1.1实验代码截图
1.1.2数据处理
数据表达:定义了变量num,row,j,n,c和字符型变量char
数据处理:N<=1000,for循环分别判断得出结果
1.1.3 PTA提交列表及说明
- Q1:出现编译错误,报错点很多
- A1:忘记输入分号,忘记输入地址符
问题在于自己对编程不熟悉
1.2:L1-036 A乘以B (5分)
1.2.1实验代码截图
1.2.2数据处理
数据表达:定义了A和B
数据处理:表达式:A*B,直接算出结果
1.2.3 PTA提交列表及说明
说明:
Q1:结果显示0,很懵逼
A1:发现scanf里面一个地址符打成了百分号
1.3:L1-005 考试座位号(15分)
1.3.1 实验代码截图:
1.3.2 数据处理
数据表达:定义了变量number,test_number,seating_number
数据处理:流程结构:for,while分别循环判断
1.3.3 PTA提交列表及说明
说明:
Q1:开始的时候问题很多,出现编译问题
A1:分号忘记输入,地址符又输成百分符 - 2.阅读代码(-5——5分)
#include<iostream>
#include<string.h>
using namespace std;
int ko[1000];
int cun[1000][350];
int ans[1000];
int main()
{
int length,i,j,sum;
cin>>length;
sum=0;
for(i=0;i<length;i++)
{
cin>>ko[i];
sum=sum+ko[i];
}
for(i=0;i<length;i++)
{
sum=sum-ko[i];
if(sum%2==1)
ko[i]=1-ko[i];
}
memset(cun,0,sizeof(cun));
cun[0][0]=1;
for(i=1;i<length;i++)
{
for(j=0;j<=349;j++)
{
cun[i][j]=cun[i-1][j]*2;
}
for(j=0;j<=349;j++)
{
if(cun[i][j]>10)
{
cun[i][j+1]=cun[i][j+1]+cun[i][j]/10;
cun[i][j]=cun[i][j]%10;
}
}
}
memset(ans,0,sizeof(ans));
for(i=0;i<length;i++)
{
if(ko[i]==0)
continue;
int carry=0;
for(j=0;j<=349;j++)
{
ans[j]=ans[j]+cun[i][j]+carry;
carry=ans[j]/10;
ans[j]=ans[j]%10;
}
}
int flag=-1;
for(i=400;i>=0;i--)
if(ans[i]!=0)
{
flag=i;
break;
}
if(flag==-1)
cout<<0;
for(i=flag;i>=0;i--)
cout<<ans[i];
cout<<endl;
return 0;
}
这是来自牛客网的题目,主要是计算从条形图上起飞 bytish 链的所有环所需的最小移动数,这份代码优点在于整体简洁明了,可以清楚看出基本步骤和运行思路,可学习之处运用了if-for,也插入许多变量,大括号括住了变量。
-
3.学习总结(15分)
3.1 学习进度条周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题 第十周: 14小时 267 循环和数组 怎样灵活运用循环和其他用法 3.2 累积代码行和博客字数
时间 博客字数 代码行数 第八周 870 5 第九周 370 42 第十周 730 71
3.3 学习感悟
从第一节课学习最简单的编程到现在进行自我学习与提升,大学最重要的不是老师的方方面面的帮助,而是应该自己去学习,学会去从书中或者百度找到问题答案,实在不能解决最后才是问老师。
不能一味钻进死胡同,在长时间不能解决的情况下,应该学会先放下,旧题新思,保持进步。