C语言I博客作业08

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
这个作业的目标 <懂得如何输出一定范围内的素数,学会输出一些特定图形>
学号 <20209120>

一、本周教学内容&目标

第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。

二、本周作业

1.PTA实验作业
2.代码互评
3.学习总结

三、作业格式

1.PTA实验作业

1.1题目名1

输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

1.1.1数据处理

数据表达:运用变量从c,i,m,n,w,e六个变量都为整形,都是由自己赋值而来。
数据处理:
if(c>100){
	printf("OVERFLOW");
	}
	else{if(m<=2){
		printf("NO");
	}
	else{
		for(i=2;i<=m;i++){
		n=sqrt(i);
		for(w=2;w<=n;w++)
		  if(i%w==0)
		  break;
		if(w>n){
			c++;
		   }
		c=0;
		for(i=2;i<=m;i++){
		n=sqrt(i);
		for(w=2;w<=n;w++)
		  if(i%w==0)
		  break;
		if(w>n){
			printf("%5d",i);
			c++;
			if(c%15==0)
			printf("
");
	}

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
4 2 3 在0到4内只有2和3为素数
6 2 3 5 在0到6内只有2和3和5为素数
9 2 3 5 7 在0到9内只有2,3,5,7为素数

1.1.4PTA提交列表及说明

问题:1.答案出现了错误,输出错误。
      2.改正后部分正确,仍未得到解决。
解决方法:1.检查一次,发现错误改正程序使结果正确。
        2.对于细微的错误通过测试来找出错误。

1.2题目名2

在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。

1.2.1数据处理

数据表达:运用了five,two,one,a四个变量,且都为整形,a值输入得到,其它三个变量通过计算得到。
数据处理:
for(five=1;five<=a/5;five++)
	  for(two=1;two<=a/2;two++){
	  	one=a-(five*5+two*2);
	  	if(five*5+two*2+one*1==a&&five>=1&&two>=1&&one>=1)
	  	printf("five=%d,two=%d,one=%d
",five,two,one);
	  }

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
6 不符合循环的条件,不输出结果
9 five=1,two=1,one=2 有一种兑换方式,一张5元,一张2元,两张1元

1.2.4PTA提交列表及说明

问题:1运行结果显示答案错误。
解决方法:1.在编程软件上输出结果包含负数,对数据进行范围规定。
         2.令five>=1,two>=1,one>=1,使输出结果不包含负数。

2.代码互评

同学代码截图

自己代码截图

不同:1.我求数组个数时又嵌入了一个循环,这样显得比较麻烦。

2.我的代码长度比较长,他的更为简洁。

同学代码截图

自己代码截图

不同:1.他用了三层循环结构,而我只用了两层。

2.可能代码行数我的较多但运行时间我的短些。

3.学习总结

3.1学习进度条

周/日期 这周花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周/10.19~10.25 21小时 123 学会了用代码打出Hello World!
第九周/10.26~11.1 18小时 389 学会了用代码来计算加减
第十周/11.2~11.8 14小时 526 学会了使用for循环语句 整形和浮点型的运用
第十一周/11.9~11.15 18小时 638 学会了去使用调用函数,计算n! 调用函数适用于哪些地方
第十二周/11.16~11.22 16小时 864 学会了使用字符型,if else结构 字符型与其它数据类型怎么转换
第十三周/11.23~11.29 18小时 988 switch语句的使用 switch语句理解不够深,导致不能用于做题
第十四周/11.30~11.6 23小时 783 while语句的使用 有些小细节还是弄不懂
第十五周/12.7~12.13 8小时 235 怎样求出一个整数的位数
第十六周/12.14~12.20 18小时 984 输出一个菱形以及怎样输出一定范围内的素数

3.2累积代码行和博客字数

时间 博客字数 代码行数
第八周 172 123
第九周 355 389
第十周 658 526
第十一周 868 638
第十二周 946 864
第十三周 1023 988
第十四周 976 783
第十五周 0 235
第十六周 873 984

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

学习感受:感受就是难受,不知道为什么解题时自己常有解题思路却在pta上运行时总是不正确,经常要通过多次的修改才能运行正确。

想法:我不喜欢去寻找自己的错误,那样会比较枯燥,所以以后对一种类型的题目要有多种解题的方法,这样既能提高自己的能力也能使自己完成作业更加轻松。

原文地址:https://www.cnblogs.com/hdg656/p/14153015.html