C语言I博客作业02

这个作业属于哪个课程 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 学习感悟
从第一节课学习最简单的编程到现在进行自我学习与提升,大学最重要的不是老师的方方面面的帮助,而是应该自己去学习,学会去从书中或者百度找到问题答案,实在不能解决最后才是问老师。
不能一味钻进死胡同,在长时间不能解决的情况下,应该学会先放下,旧题新思,保持进步。

posted @ 2020-11-07 10:43  笑等茶凉0209  阅读(168)  评论(7编辑  收藏  举报