首页 C语言程序设计教程(李敬兆)课件章 (9)

C语言程序设计教程(李敬兆)课件章 (9)

举报
开通vip

C语言程序设计教程(李敬兆)课件章 (9)第9章C语言经典编程【实例01】编制日历【实例02】阿姆斯特朗数【实例03】素数幻方【实例04】模拟自动取款机屏幕【实例05】输出九九表【实例06】彩球问题【实例07】递归解决分酒问题第9章C语言经典编程【实例08】获取当前的CMOS信息【实例09】不使用strcpy()函数实现字符串的拷贝【实例10】寻找三重回文数【实例11】归并排序【实例12】字母顺序输出字符串【实例13】字符串的匹配【实例14】应用栈设置密码【实例15】同时显示两个文件信息第9章C语言经典编程【实例01】编制日历  输入年份,自动生成该年日历...

C语言程序设计教程(李敬兆)课件章 (9)
第9章C语言经典编程【实例01】编制日历【实例02】阿姆斯特朗数【实例03】素数幻方【实例04】模拟自动取款机屏幕【实例05】输出九九表【实例06】彩球问题【实例07】递归解决分酒问题第9章C语言经典编程【实例08】获取当前的CMOS信息【实例09】不使用strcpy()函数实现字符串的拷贝【实例10】寻找三重回文数【实例11】归并排序【实例12】字母顺序输出字符串【实例13】字符串的匹配【实例14】应用栈设置密码【实例15】同时显示两个文件信息第9章C语言经典编程【实例01】编制日历  输入年份,自动生成该年日历。  利用自定义函数f()和g()求出某年一月一日是星期几,并判定该年是否闰年。为了便于按星期输出各月的日历,引入三维数组的日期表intdate[12][6][7]。其中,12表示一年的12个月;6表示一个月最多有6周;7表示每周有7天。每个月的天数按照月份取自数组intday_tb1[][]。该数组是二维数组,第一行存储平年的各月天数,第二行存储闰年的各月天数。  第9章C语言经典编程  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例02】阿姆斯特朗数  如果一个正整数等于每位数字的立方和,则称该数为阿姆斯特朗数,也叫自恋性数。编程求1000以内的所有阿姆斯特朗数。  依次取1000以内的正整数i,将i的各位数字分解后,根据阿姆斯特朗数的性质进行判断。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例03】素数幻方  所谓n阶的素数幻方就是在一个n×n的矩阵中,每一个格子填入一个数字,使每一行、每一列和两条对角线上的n个数字所组成的n位数,均为可逆素数,即正向和逆向组合的n位数都是素数。第9章C语言经典编程  求四阶的素数幻方,若采用穷举法,则设定4×4矩阵中每个元素的值后,判断每一行、每一列和两条对角线上的4个数字组成的4位数是否都是可逆素数。这种算法的程序实现效率很低,穷举和判定的次数过多。可先求出全部204个4位可逆素数,以矩阵的行为单位,在4位可逆素数的范围内穷举,然后将穷举的4位整数分解为单个数字后,再进行列和对角线方向的筛选。第9章C语言经典编程  矩阵的第一行和最后一行数字,它们分别是列方向四位数的第一个数字和最后一个数字,由于这些四位数也是可逆素数,因此矩阵的每一行和最后一行中的各个数字都不能为偶数或5。这样穷举矩阵的第一行和最后一行时,它们的取值范围是:所有位的数字均不是偶数或5的四位可逆数。由于符合这一条件的四位可逆素数很少,因此这一范围限制又一次减少了穷举的次数。程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例04】模拟自动取款机屏幕  通过对自动取款机屏幕事务的模拟来学习switch语句。  switch的中文意思是开关,switch语句专门用来处理事务性的多分支情况。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例05】输出九九表  通过本例加深对for循环语句的理解,掌握光标位置的控制方法。程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例06】彩球问题  若一个口袋里放有12个球,其中有3个红的、3个白的和6个黑的,问从中任取8个球共有多少种不同颜色的搭配?  设任取8个球,其中红球i个,白球j个,则黑球为8-i-j个。根据条件,红球和白球数量的取值范围是0~3,黑球数量的取值范围即8-i-j≤6。  程序如下:第9章C语言经典编程第9章C语言经典编程【实例07】递归解决分酒问题  法国著名数学家Poison在青年时代研究过一个有趣的数学问题:一个酒徒有12品脱的啤酒一瓶,他想从中倒取6品脱,但又没有正好6品脱的容器,仅有一个8品脱和5品脱的容器,怎样才能将啤酒分为两个6品脱呢?  用a代表12品脱的瓶子,b代表8品脱的瓶子,c代表5品脱的瓶子,倒酒的规则如下:按照a→b→c→a的顺序;b倒空后才能从a中取;c装满后才能向a中倒酒。第9章C语言经典编程  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例08】获取当前的CMOS信息  通过系统调用来获取CMOS的信息。计算机把系统配置信息存放在CMOS存储器中,包括用户驱动类型、系统日期等。本例中程序通过调用inportb和outportb函数来获取CMOS信息,并显示相关内容。70H和71H分别是针对CMOS进行写入和读取的端口。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例09】不使用strcpy()函数实现字符串的拷贝  这是C语言里面复制字符串的库函数,函数声明包括在专门处理字符串的头文件<string.h>中,char*strcpy(char*dst,constchar*src);函数用于把字符串src复制到一分配好的字符串空间dst中,复制的时候包括标志字符串结尾的空字符一起复制。操作成功,返回dst,否则返回NULL。第9章C语言经典编程  使用char*的原因是,函数strcpy1()用于把参数s字符串复制到d参数,由于d参数将进行修改,因此它必须是个字符数组或者是一个指向动态分配内存的数组的指针,不能使用字符串常量。  程序如下:第9章C语言经典编程第9章C语言经典编程【实例10】寻找三重回文数  回文数是指其各位数字左右堆成的整数,例如121,94249等。三重回文数是指某个数字m、m2、m3都是回文数,例如m=11,m2=121,m3=1331。  本例编程寻找11~999之间的回文数,要求编制函数intsvalue(longm)实现此功能。如果是回文数,则函数返回1,否则返回0,最后把结果输出到文件out中去。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例11】归并排序  归并是指将若干已排序的子文件合并成一个有序的文件。MergeSort是利用“归并”技术进行排序的一种常见的稳定的排序方法。  设两个有序的子文件放在同一向量中相邻的位置R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1中,待合并完成后将R1复制回R[low..high]中。.  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例12】字母顺序输出字符串  这是C语言里面比较字符串大小的库函数,函数声明包括在专门处理字符串的头文件<string.h>中。有三个字符串str1,str2,str3,使用标准库函数strcmp()两两比较,按照字母先后顺序输出字符串。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例13】字符串的匹配  这是C语言里面字符串匹配的库函数,函数声明包括在专门处理字符串的头文件<string.h>中。不使用C语言标准库函数strstr()完成此项操作。在目标字符串中查找是否含有子串,如果查找到含有子串,则输出主串中第一个匹配字符的位置。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例14】应用栈设置密码  当用户输入错误密码时,系统提示密码错误,要求重新输入,只有输入正确的密码(123456),才能进行下一步操作。本例通过栈来设置密码,涉及了栈的定义、初始化、删除以及销毁。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程【实例15】同时显示两个文件信息  编制一个程序,实现将两个文件的内容同时显示在屏幕上。要求最左边的30列显示文件1的内容;第41~70列输出文件2的信息;最右列显示两文件该行字符数之和;其余列显示空白符。对文件的操作包括读入文件,打开文件,文件未结束时读入文件当前行的内容并输出,关闭文件。  程序如下:第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程第9章C语言经典编程感谢第9章C语言经典编程谢谢,精品课件资料搜集第9章C语言经典编程
本文档为【C语言程序设计教程(李敬兆)课件章 (9)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
知识大咖
工程测量教师
格式:ppt
大小:1MB
软件:PowerPoint
页数:77
分类:
上传时间:2021-11-23
浏览量:0