杨阳young

C语言I博客作业09

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业09
我在这个课程的目标是 学习C语言
这个作业在哪个具体方面帮助我实现目标 学习使用循环的嵌套及熟悉break、continue的使用
参考文献 %与/区别;三种循环的嵌套和比较

1.PTA实验作业

1.1 换硬币

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入格式:
输入在一行中给出待换的零钱数额x∈(8,100)。
输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例:
13
输出样例:

fen5:1, fen2:3, fen1:2, total:6
fen5:1, fen2:2, fen1:4, total:7
fen5:1, fen2:1, fen1:6, total:8
count = 4````

###1.1.1数据处理
数据表达:用了a,count,k,i,j五个变量,其中a表示待换的零钱数额,count表示换法个数。该代码中还用到了for循环嵌套语句
数据处理:伪代码
````include<stdio.h>头文件
int main()
{
    定义整形变量a,count;令count=0;将新取值赋给count,即count初始值为0
    输入一个整数a
    for循环中,定义整形变量k,其中k的初始值为a/5,每次循环都减去1,直到k>0
    for循环中,定义整形变量i,其中i的初始值为a/2,每次循环都减去1,直到i>0
    for循环中,定义整形变量j,其中i的初始值为a,每次循环都减去1,直到j>0
    if语句,若(k*5+i*2+j==a)
    {
        输出5分硬币数量k,2分硬币数量i,1分硬币数量j,硬币总数量k+j+i
        count++;一直相加
    }
   输出换法个数count
   end if
    return 0;
}

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
15 fen5:2, fen2:2, fen1:1, total:5 fen5:2, fen2:1, fen1:3, total:6 fen5:1, fen2:4, fen1:2, total:7 fen5:1, fen2:3, fen1:4, total:8 fen5:1, fen2:2, fen1:6, total:9 fen5:1, fen2:1, fen1:8, total:10 count = 6 一个大于10的奇数
8 fen5:1, fen2:1, fen1:1, total:3 count = 1 一个小于10的偶数
9 fen5:1, fen2:1, fen1:2, total:4 count = 1 一个小于10的奇数

1.1.4PTA提交列表及说明

1.编译错误:在第五行代码中少打了一个标点符号","
2.答案正确:在dev-c++上试编译了几次,找到错误。将6,7行中的"%"改为了"/"。答案正确

1.2找完数

所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
输入格式:
输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。
输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。
输入样例:
2 30
输出样例:

28 = 1 + 2 + 4 + 7 + 14````

###1.2.1数据处理
数据表达:````用了n,m,i,b,sum,num六个变量,其中n,m表示2个正整数m和n;sum和num表示每个完数的因子累加形式的分解式与完数````
数据处理:伪代码
````include<stdio.h>头文件
int main()
{
	定义整形变量n,m,i,b,sum,num;其中将0赋值给num
	输入两个正整数m,n
	for循环中i=m,将i累加
	{
		if(i==1) 结束本次循环
		将1赋值给sum;
		for循环中b初始值为2;将b累加,直到b<i
		如果i除以b取余数
                 将sum累加的值赋值给b
		如果sum=i
		{
			输出i等于1的值
			for循环中b=2并将b累加,直到b<i;
			如果i除以b取得余等于0
			输出累加的值num
		}
	end if
	}
	如果num=0
	输出None
        end for
	return 0;
}

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
5 20 6 = 1 + 2 + 3 两个正整数(5的倍数)
15 15 None 两个相同的大于10的奇数
3 20 6 = 1 + 2 + 3 两个大于1的符合条件的正整数

1.2.4PTA提交列表及说明

1.运行超时:在PTA上没有显示有哪个地方有错,但是就是运行错误,转移dev-c++上编译找到错误。
2.部分正确:有多处空格未打出来,17行与14行输出语句中的空格未打出来
3.答案错误:将错误更正,将空格一一打出来,答案正确

同学代码截图

自己代码截图

1.同学用变量x,y,z分别表示5分、2分、1分,用了两个for循环;我是用变量k,i,j分别表示5分、2分、1分,并且运用了三个for循环,其中三个都用了累减;
2.同学代码中用到了变量total表示硬币总数量;我的代码是直接k+i+j表示硬币总数量;
3.同学代码是用到了for循环语句;我的代码中用到了for循环中嵌套if语句

同学代码截图

自己代码截图

1.同学代码运用了两个变量n,m,我的代码用了三个变量n,i,j,并且用了容纳单字符的一种基本数据类型char
2.同学代码中使用到了for循环中嵌套if语句;而我的代码是for循环中嵌套for循环
3.同学代码中用到了for循环语句中定义整形变量i,j;而我的代码是运用到了双精度浮点型double,并定义了变量n,i,j

3.学习总结

3.1学习进度条

这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问题
第五周 3小时 17行 初期开始学习“Hello World!" 不知道如何开始编译
第六周 10小时 27行 提问的智慧及编译器的下载 编译格式问题
第七周 10小时 95行 流程结构类型及变量类型分类方法 代码分析不明白以及编译格式问题
第八周 13小时 115行 循环程序设计及Dev-C++编译运行等方法 用专业术语将代码解释出来及各种赋值运用
第九周 15小时 165行 四种流程结构及主调,被调函数,实参与形参的识别 PTA作业中题目的编写
第十周 17小时 94行 分支结构的部分代码 PTA作业的编写(真的好难)
第十一周 14小时 76行 switch语句的运用 switch语句的灵活运用以及PTA作业的编写
第十二周 18小时 147行 循环结构程序设计及运用字串符处理代码题 有时候对于一些问题的意思很难懂,对于自己的解题速度也有很大问题
第十三周 11小时 113行 学习使用循环的嵌套及熟悉continue的使用 PTA的题目,C语言知识点及考试的心态

3.2累积代码行和博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

1.在最后的一个月中,我发现自己的知识储备相当薄弱,希望自己在工作之余能够忙中偷闲,将闲暇时间为自己的薄弱科目补一下;
2.C语言真的学的有点崩溃,就像听物理一样,毫无感觉,时间一天一天的变少,无从下手;
3.也希望在最后的时间中能够扎实的学习好,不负当初对大学的幻想,虽然只是幻想,希望能够有一天能够将它实现,最后对自己说“加油吧!”

posted on 2019-11-22 20:31  杨阳young  阅读(257)  评论(6编辑  收藏  举报

导航