课程设计文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

·《C语言基础》课程设计

(一)基本要求题目

要求:基本题共30题,任选其中的20道题。提交实验报告(可手写、可电子版打印)。【程序1】1

题目:任意输入三个整数,编程实现对这三个数由小到大进行排序,并将排序后的结果显示在屏幕上。

1.程序分析:两个数一组使用if进行条件判断,如果逆序则使用中间变量对其进行交换。

2.程序源代码:

【程序2】7

题目:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想在吃时,发现只剩下一个桃子了。编写程序求猴子第一天共摘了多少个桃子。

1.程序分析:先找出变量间的关系,即第二天的桃子数加1的2倍等于第一天的桃子数。利用循环,即求出桃子总数。

2.程序源代码:

【程序3】3

题目:求100到200之间的全部素数,打印输出。

1.程序分析:素数是大于1的整数,除了能被自身和1整除外,不能被其他正整数整除。因此判断素数就是从2到根号i进行循环,判断这个数能否被i整除,若能整除则说明不是素数,转而判断下一个。

2.程序源代码:

【程序4】

题目:编程实现十进制数转化为二进制数,即从键盘输入一个0到32767的十进制数,输出其对应的二进制数。

1.程序分析:十进制数转换为二进制数的过程就是不断对2取余,取余后再除以二继续取余,最后将前面取得的余数序列倒序进行输出,即是该数对应的二进制数。其中,每次的余数可放在一个整形数组中,方便进行倒序输出。

2.程序源代码:

【程序5】

题目:一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。编程求它在第十次落地时,共运动了多少米?第十次反弹多高?

1.程序分析:典型的循环问题,设置两个变量分别记录小球反弹的高度和当前运动的距离,循环十次即得到结果。

2.程序源代码:

【程序6】

题目:从键盘上输入一个表示年份的整数,判断该年是否是闰年,输出结果显示在屏幕上。

1.程序分析:计算闰年的方法用自然语言描述如下:如果某年能被4整除但不能被100整除,或者概念能被400整除则该年为闰年。本题目主要是考虑if语句中的逻辑表达式的正确描述。

2.程序源代码:

【程序7】

题目:水仙花数指一个三位数,其各位数字的立方和等于该数本身,例如153=13+53+33。编程求出所有的水仙花数。

1.程序分析:用穷举法对100到999之间的数字进行数位拆分,然后通过一个if语句进行判断,将满足水仙花数条件的数打印输出即可。

2.程序源代码:

【程序8】11

题目:编程实现从键盘输入两个正整数,求它们的最大公约数和最小公倍数并打印在屏幕上。

1.程序分析:用辗转相除法求出两数的最大公约数,然后用两数的乘积除以最大公约数即可得到两数的最小公倍数。

2.程序源代码:

【程序9】

题目:编程求所有满足abcd=(ab+cd)2的四位数,即将四位数分为两段,使之相加求和后平方,结果等于自身。

1.程序分析:用穷举法对1000到9999的所有四位数逐个分解为前后两个数字,再对其进行判断,看是否满足要求,若满足则打印输出,否则进行下次循环。

2.程序源代码:

【程序10】

题目:用选择排序法对一组数据由小到大进行排序,数据分别为526、36、2、369、56、45、78、92、125、52。

1.程序分析:选择排序法是从待排序的区间中经过比较,选出最小的数存放在a[0]中(通过交换),再从剩余的未排序的9个数中再选出最小的数存放于a[1]中,以此类推,经过9趟选择和交换则排序完成。要注意它与冒泡排序的不同,冒泡排序是每趟排序边比较边交换,而选择排序是一趟比较完成后仅交换一次。

2.程序源代码:

【程序11】

题目:小明买橙子,每个橙子1.8元,小明第一天买1个柚子,第二天开始每天买前一天的三倍,直到购买的橙子个数为不超过100的最大值,编程求小明每天平均花多少钱。

1.程序分析:利用循环控制最后一天不超过100个橙子,将每天的花销及天数累加起来,求得平均值。

2.程序源代码:

【程序12】

题目:变成求出一个整数的任意次方的最后三位数,即求x^y的最后三位数,其中x和y

从键盘输入。

1.程序分析:一个整数的任意次方很可能产生越界情况,因此要考虑计算结果是否越界的问题,要避免产生越界问题同时又不使程序结果产生误差。

2.程序源代码:

【程序13】

题目:根据输入的三角形的三条边的值,判断三角形的类型(等边、等腰、直角、普通、非三角形)并输出。

1.程序分析:先根据两边之和是否大于第三条边来判断是否能够成三角形,若能构成三角形则进一步根据边的值判断是什么类型的三角形。

2.程序源代码:

【程序14】

题目:完全平方指用一个整数乘以自己例如1*1,2*2,3*3等,依此类推。若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。在所有的三位整数100到999中查找符合如下条件的整数在屏幕上输出:这个数既是完全平方数,又有两位数字相同,如121(11的平方)、144(12的平方)等。

1.程序分析:先利用循环判断一个100到999的数是不是完全平方数,若是则进一步分离各位数字,判断是否有两位相同。

2.程序源代码:

【程序15】

题目:有一种六位数,它本身是一个整数的平方,而且它的第三位和高三位也分别是一个整数的平方,如224625=4752,且225=152,625=252。求满足该条件的所有六位数。

1.程序分析:穷举法。利用循环对100000到999999之间的所有数按条件进行试探。

2.程序源代码:

【程序16】

题目:可逆素数是指将一个素数的各位数字顺序地倒过来构成的反序数依然是素数,按以上叙述求出所有的四位素数。

1.程序分析:定义一个函数用于判断参数是否是素数,对1000到9999之间的数进行穷举,找出符合条件的数并输出。

2.程序源代码:

【程序17】

题目:已知某公司员工的工资底薪是500元,员工的销售额与提成的计算方式如下:

销售额≤2000 没有提成

2000<销售额≤5000 提成8%

5000<销售额≤10000 提成10%

销售额>10000 提成12%

利用switch语句编写程序,实现输入员工的销售额计算员工工资。

1.程序分析:先根据员工销售额计算出提成系数,利用switch语句根据系数计算出应发工资。

2.程序源代码:

【程序18】

题目:打印出以下杨辉三角(要求打印10行)。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

……

1.程序分析:想要打印杨辉三角,首先要找出图形中数字的规律,即每行第一列和对角线数字均为1,其余数字为上一行同列数字与上一行前列数字之和。数据存储于二维数组,利用循环输出10行杨辉三角。

2.程序源代码:

【程序19】

相关文档
最新文档