c语言程序设计

C语言程序设计博客作业01

喜欢而已 提交于 2019-12-05 14:18:01
第一周作业 1 你对软件工程专业或者计算机科学与技术专业了解是怎样? 通过查阅资料初步了解到1991年软件工程被列入‘计算机学科的九个知识领域之一’,2002年成为中国新增专业它随着时代的发展而发展,以计算机科学,技术学科为基础,形成了由软件需求,设计,构造,测试,维护等多个内容,同时,具有很大的发展前景。除此之外,软件工程应用于多个方面,人机界面,嵌入式系统,办公等,促进人们的生活和社会发展。随着学习的深入,我觉得以后对软件工程会有更全面的理解。 2 你了解C语言么? C语言主要应用有哪些? 对于C语言来说,我不怎么了解。用专业的话来说,C语言作为最基础的语言,主要应用领域分为系统软件开发和应用软件开发,应用于底层开发,以简易的方式编译,处理低级储存器,且产生少量的机器码以及不需要任何运行环境支持便能运行的编辑语言。应用于不同操作系统中影响了众多的编程语言。 C语言泛应用于底层开发,C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 3 你希望在这个专业学到哪些内容? 对于软件工程,希望了解每个基本语言的应用。懂得更多的的计算机知识

C语言程序设计100例之(19):欢乐的跳

假如想象 提交于 2019-12-05 13:56:22
例19 欢乐的跳 题目描述 一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n-1]之间的所有整数,则称之符合“欢乐的跳”,如数组1 4 2 3符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。 给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。 输入格式 每组测试数据第一行以一个整数n(1≤n≤1000)开始,接下来n个空格隔开的整数。 输出格式 对于每组测试数据,输出一行若该数组符合“欢乐的跳”则输出"Jolly",否则输出"Not jolly"。 输入样例 #1 4 1 4 2 3 输出样例 #1 Jolly 输入样例 #2 5 1 4 2 -1 6 输出样例 #2 Not jolly (1)编程思路。 为了判断数组两个连续元素之间差的绝对值是否包括了[1,n-1]之间的所有整数,定义一个数组int hash[1001],其中hash[i]=0表示整数i未出现,hash[i]=1表示整数i出现过。初始时,hash数组的全部元素值均为0。 对n个元素的数组a,用循环for (i=1;i<n;i++)对数组中连续两个元素的差的绝对值d(d=abs(a[i]-a[i-1]))进行处理。若差的绝对值d小于n,则置hash[d]=1,表示整数d出现了。 之后,判断数组hash的情况,若数组元素hash[1]~hash[n-1]的值全为1

C语言程序设计100例之(18):火柴棒等式

房东的猫 提交于 2019-12-05 13:55:56
例18 火柴棒等式 用n根火柴棍,可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棒拼出的整数(若该数非零,则最高位不能是0)。用火柴棒拼数字0~9的拼法如图1所示。 图1 用火柴棒拼的数字0~9 另外,加号与等号各自需要两根火柴棒。 编写一个程序,输入火柴棒的根数n,输出能拼成的不同等式的数目。说明:(1)如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0);(2)A和B最多为3位数;(3)n根火柴棒必须全部用上。 例如,输入18,输出应为9。即18根火柴棒可以拼出0+4=4、0+11=11、1+10=11、2+2=4 、2+7=9、4+0=4、7+2=9、10+1=11、11+0=11这9个等式。 (1)编程思路1。 用一个数组保存0~9每个数字所需火柴棒数,另外加号和等号需用去4根。 编写一个函数int needMatch(int num)用于统计数 num 需要的火柴棒个数。 程序中用二重循环对A(0~999)和B(0~999)的取值组合进行穷举,调用函数needMatch(A)、needMatch(B)和needMatch(A+B)分别返回等式中三个数所需的火柴棒的数目,若needMatch(A)+needMatch(B)+needMatch(A+B)+4==n,则计数。 (2)源程序1。 #include <stdio.h> int

C语言程序设计100例之(17):百灯判亮

烈酒焚心 提交于 2019-12-05 09:35:55
例17 百灯判亮 问题描述 有序号为1、2、3、…、99、100的100盏灯从左至右排成一横行,且每盏灯各由一个拉线开关控制着,最初它们全呈关闭状态。有100个小朋友,第1位走过来把凡是序号为1的倍数的电灯开关拉一下;接着第2位小朋友走过来,把凡是序号为2的倍数的电灯开关拉一下;第3位小朋友走过来,把凡是序号为3的倍数的电灯开关拉一下;如此下去,直到第100个小朋友把序号为100的电灯开关拉一下。问这样做过一遍之后,哪些序号的电灯是亮着的? 输入格式 每行测试数据是一个正整数n,代表第n盏灯。 输出格式 每行输出第n盏灯的状态,0代表灯是熄灭的,1代表灯是亮的。 输入样例 1 5 输出样例 1 0 (1)编程思路1。 要判定哪些序号的灯是亮的,需要知道100个小朋友操作过后,每盏灯的拉线开关被拉的次数,这样凡是被拉了奇数次开关的灯最后就是亮的。 为了保存每盏灯的拉线开关被拉的次数,需要定义一个一维数组int a[101];用数组元素a[1]~a[100]保存1~100号灯的开关被拉的次数(初始值为0,表示开关没有被拉1次)。 程序用一个二重循环来模拟小朋友的操作过程。外循环控制小朋友从1~100,对于第i个小朋友,他拉第i、2i、3i…号灯的拉线开关的操作构成内循环。具体描述为: for (child=1;child<=100;child++) // 小朋友从1~100 for

C语言程序设计100例之(16):巧解算式

≯℡__Kan透↙ 提交于 2019-12-05 09:33:58
例16 巧解算式 问题描述 在1、2、3、4、5、6、7、8、9、10个数中间加上加号或减号,使得到的表达式的值为自然数N,如果中间没有符号,则认为前后为一个数,如1 2 3认为是一百二十三(123)。 例如:当N=100时,表达式值为100的填法有24种。123+4+5+67-89-10=100是一种填法,1+2+3+4+56+7+8+9+10=100也是一种填法。 编写一个程序,找出使表达式的值等于N的填写方法有多少种? 输入格式 输入包含多组测试数据。每组测试数据一个自然数n,占据独立一行。0表示输入结束。 输出格式 对每组测试数据,输出一行,即使表达式的值等于n的填写方法的种数。 输入样例 1 10 100 0 输出样例 45 26 24 (1)编程思路。 为了表示等式左边的算式,可以定义一个数组int a[20],其中元素a[0]、a[2]、…、a[16]分别保存数字1、2、…、9,a[18]和a[19]合起来保存数10。a[1]、a[3]、…、a[17]用0、1、2保存可能填写的运算符,其中0代表空格、1代表加号+、2代表减号 -。如下所示: 1 2 3 4 5 6 7 8 9 1 0 这样,可以用一个9重循环对9个空位可能填写的3种算符进行穷举,得到等式左边的算式,保存在数组a[20]中,然后对这个算式进行解析,若运算结果为N,则就是一种解法。

C语言1博客作业09

不问归期 提交于 2019-12-05 07:38:28
问题 答案 这个作业属于哪个课程 C语言程序设计1 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2 我在这个课程的目标是 熟练的掌握计算机的一些技能 这个作业在那个具体方面帮助我实现目标 在的练习过程中找到感觉,让我对本次的知识点更加熟悉 参考文献 《C语言程序设计1》 1PTA实验作业 1.1 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100)。 输出格式: 要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。 输入样例: 13 输出样例: fen5:2, fen2:1, fen1:1, total:4 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数据处理 数据表达:我定义了X,a,b,c,total,count这些变量,变量的值都是随着X的变化而变化

C语言I作业09

我的未来我决定 提交于 2019-12-05 07:38:27
问题 答案 这个作业属于哪个课程 c语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029 我在这个课程的目标是 学会更多的程序表达模式,努力学习 这个课程在哪个方面具体帮助我实现目标 工具书,具有课本可供参考 参考文献 百度和课本 1.PTA实验作业 1.1题目名:找完数 内容描述 :所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。 1.1.1数据处理 数据表达:运用了整形变量,变量的值是根据题目要求来的,为int型 数据处理:定义变量 num1,num2,num0,flag=1 执行循环,定义i←num1,i≤num2,每执行一次i+1 sum←1 执行循环 j←2,j≤i,每执行一次j+1 if i%j取余←0 sum←sum+j if sum←i 错误 输出d=1 执行循环k←2,k<i,每执行一次k+1 如果i%k取余←0 输出答案 否则输出NONE 返回0 1.1.2实验代码截图 1.2.3测试数据 输入数据 输出数据 说明 2 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 正确 1 2 1=1 正确 0 1 1=1 正确 1.2

C语言I博客作业09

做~自己de王妃 提交于 2019-12-05 07:37:51
问题 答案 这个作业属于哪个课程 c语言程序设计Ⅱ 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10027 我在这个课程的目标是 熟练掌握本章内容,早日提前把C语言学完 这个课程在哪个方面具体帮助我实现目标 continue的运用与循环的嵌套使用 参考文献 C语言程序设计 百度百科 1.pta实验作业 1.1 7-1 打印九九口诀表 (15 分) 下面是一个完整的下三角九九口诀表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 本题要求对任意给定的一位正整数 N ,输出从 1*1 到 N*N 的部分口诀表。 输入格式: 输入在一行中给出一个正整数

C语言I作业09

偶尔善良 提交于 2019-12-05 07:37:45
问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10032 我在这个课程的目标是 熟练使用C++ 这个作业在那个具体方面帮助我实现目标 熟悉break、continue的使用 , 熟悉使用循环的嵌套解决问题 参考文献 百度 1.PTA实验作业(20分/题) 1.1 题目名1 7-1 打印九九口诀表 (15 分) 下面是一个完整的下三角九九口诀表: 1 1=1 1 2=2 2 2=4 1 3=3 2 3=6 3 3=9 1 4=4 2 4=8 3 4=12 4 4=16 1 5=5 2 5=10 3 5=15 4 5=20 5 5=25 1 6=6 2 6=12 3 6=18 4 6=24 5 6=30 6 6=36 1 7=7 2 7=14 3 7=21 4 7=28 5 7=35 6 7=42 7 7=49 1 8=8 2 8=16 3 8=24 4 8=32 5 8=40 6 8=48 7 8=56 8 8=64 1 9=9 2 9=18 3 9=27 4 9=36 5 9=45 6 9=54 7 9=63 8 9=72 9*9=81 1.1.1数据处理 数据表达:用了哪些变量,这些变量的值是怎么来的,类型是什么。 数据处理

C语言I博客作业09

百般思念 提交于 2019-12-05 07:37:35
问题 答案 这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029 我在这个课程的目标 能更好得了解C语言,并且能利用它来完成专业上的问题 这个作业在哪个具体方面帮助我实现目标 1.理解循环结构 2.熟悉break、continue的使用 3.熟悉使用循环结构的嵌套解决问题 参考文献 《C语言程序设计》 百度 1.PTA实验作业 PTA作业排名 1.1 题目:7-1 打印九九口诀表 (15 分) 1.1.1 数据处理 数据表达: 用到了整型变量:N, i, j; 数据处理: 1.1.2 实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 2 1 1=1 1 2=2 2*2=4 比输入样例小 4 1 1=1 1 2=2 2 2=4 1 3=3 2 3=6 3 3=9 1 4=4 2 4=8 3 4=12 4 4=16 输入样例 5 1 1=1 1 2=2 2 2=4 1 3=3 2 3=6 3 3=9 1 4=4 2 4=8 3 4=12 4 4=16 1 5=5 2 5=10 3 5=15 4 5=20 5*5=25 比输入样例大 1.1.4 PTA提交列表及说明 PTA提交列表 说明 部分正确: 忘记了空格的问题,当积大于等于10时