C/C++编程空间
文章平均质量分 70
Shunrei
这个作者很懒,什么都没留下…
展开
-
c/C++编译的程序占用的内存情况 文字常量区
首先看下下面这段:int main(){char *name = "fengkewei";char name1[] = "fengkewei";char *name2 = "fengkewei";char *name3 = "woaifengkewei";int i = 10;int j = 10;int k = 11;return 0;}若您觉得它们应该都保存在内存中的一块地方,那请原创 2010-05-19 16:26:00 · 933 阅读 · 3 评论 -
n!的尾数有多少个零?
问题描述给定参数n(n为正整数),请计算n的阶乘n!末尾所含有“0”的个数。例如,5!=120,其末尾所含有的“0”的个数为1;10!= 3628800,其末尾所含有的“0”的个数为2;20!= 2432902008176640000,其末尾所含有的“0”的个数为4。计算公式这里先给出其计算公式,后面给出推导过程。令f(x)表示正整数x末尾所含有的“0”的个数,则有:原创 2010-05-22 14:59:00 · 2484 阅读 · 2 评论 -
在屏幕上用“*”画一个空心的圆
/*在屏幕上用“*”画一个空心的圆。问题分析与算法设计:打印圆可以利用圆图形的对称性,根据圆方程x*x+y*y=r*r ((x-r)*(x-r)+y*y=r*r 圆的平移),可以求出圆上每一点行和列的对应关系。我打印的是单位圆(x-1)*(x-1)+y*y=1列坐标扩大25倍(由于控制台窗口行间隔比列间隔大,故列间隔要扩大,扩大倍数由自己掌握)且利用对称性。*/原创 2010-05-19 15:55:00 · 2620 阅读 · 0 评论 -
该存多少钱
<br />/*<br />假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后<br />的五年中的年底取出1000元,到第五年时刚好取完,请算出他存钱时应存入多少。<br />*问题分析与算法设计分析<br />存钱和取钱的过程,可以采用倒推的方法。<br />若第五年年底连本带息要取1000元,则要先求出第五年年初银行存款的钱数:<br />第五年初存款=1000/pow((1+0.0063),12)<br />依次类推可以求出第四年、第三年……的年初银行存款的钱数:<br />原创 2010-06-12 16:15:00 · 1815 阅读 · 0 评论 -
抓交通肇事犯
<br />/*<br />一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,<br />但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两<br />位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两<br />位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。<br />请根据以上线索求出车号。<br />算法分析:<br />将4位车牌号分为高低各2位数,因为高低两位数相同,故循环时<br />高低两位只需各加11递增。当满足甲、乙条件时再判断是否满足丙条件。<br />*/原创 2010-06-12 15:34:00 · 2923 阅读 · 0 评论 -
打印日历
<br />/*<br />打印出任意输入年的日历:<br />算法分析与设计:<br />1)(采用“三天打鱼两天晒网”思路)1990.1.1为周一,则可以计算出输入年的首日到1990.1.1的天数n,<br />由n%7的余数可得:若余数为0,则与1990.1.1同为周一,否则递推。<br />2)打印方式:周日-->周六。<br />3)闰年的方法可以用伪语句描述如下:如果 ((年能被4除尽且不能被100除尽)或能被400除尽)<br />则该年是闰年;否则不是闰年。<br />*/<br />//头原创 2010-05-31 21:56:00 · 1086 阅读 · 0 评论 -
三天打鱼两天晒网
/*中国有句俗语叫"三天打鱼两天晒网"。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是"打鱼"还是"晒网"。问题分析与算法设计:根据题意可以将解题过程分为三步:1)计算从1990年1月1日开始至指定日期共有多少天;2)由于"打鱼"和"晒网"的周期为5天,所以将计算出的天数用5去除;3)根据余数判断他是在"打鱼"还是在"晒网";若余数为0,1,2,则他是在"打鱼";否原创 2010-05-30 22:59:00 · 5440 阅读 · 0 评论 -
杨辉三角
/*杨辉三角形在屏幕上显示杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ...........从杨辉三角形的特点出发,可以总结出:1)第i行有i个值(设起始行为第1行)2)对于第i行的第j个值:(i>=3) 当j=1或j=i时:其值为1 当j!=1且j!=i+1时:其值为第i-1行的第j-1个值与第i-1行第j个值之原创 2010-05-28 16:32:00 · 1112 阅读 · 0 评论 -
排列问题
/*小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?问题分析与算法设计:本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。疑惑:n本书借给m个人的借法怎么实现??程序说明与注释:*/#原创 2010-05-25 14:19:00 · 961 阅读 · 0 评论 -
求13的13次方的最后三位数
/*求13的13次方的最后三位数问题分析与算法设计解本题最直接的方法是:将13累乘13次方截取最后三位即可。但是由于计算机所能表示的整数范围有限,用这种“正确”的算法不可能得到正确的结果。事实上,题目仅要求最后三位的值,完全没有必要求13的13次方的完整结果。研究乘法的规律发现:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。利用这一规律,可以大大简化程序。13的13原创 2010-05-22 13:00:00 · 3026 阅读 · 0 评论 -
歌星大奖赛,评分系统
/*在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均分)和最不公平(即与平均分的差距最大)的评委,程序应该怎样实现?请编写一个程序实现。算法分析与设计:定义数组存放裁判的打分,遍历数组得到最高分与最低分,去掉最高分与最低分得到选原创 2010-05-21 10:07:00 · 3339 阅读 · 0 评论 -
在屏幕上显示0~360度的cos(x)曲线与直线x=45*(y-1)+31的迭加图形
/*在屏幕上显示0~360度的cos(x)曲线与直线x=45*(y-1)+31的迭加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(y)图形的符号。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图形的交点,再分别控制打印两个不同的图形。*/ //同样可以由数组实现#inc原创 2010-05-20 12:46:00 · 2520 阅读 · 2 评论 -
实现函数y=x*x的图形与圆的图形迭加显示
/*实现函数y=x*x的图形与圆的图形迭加显示 */图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图形的交点,再分别控制打印两个不同的图形。 #include #include using namespace std;int main(){ int x, x_circularity,x_parabola; doubl原创 2010-05-20 12:43:00 · 1267 阅读 · 0 评论 -
在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 数组实现
/*绘制余弦曲线: 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 */ #include#includeusing namespace std;int main(){ //数组实现:假设屏幕为21*62定义一个数组,全部归0,然后算,该有点的地方表为1,然后输出 coutdouble y; int i,j,m; int row=0; int flag[21][62]=原创 2010-05-20 12:34:00 · 1934 阅读 · 0 评论 -
屏幕上显示0~360度的cos(x)曲线与sin(x)的迭加图形。
/*在屏幕上显示0~360度的cos(x)曲线与sin(x)的迭加图形。其中cos(x)图形用“*”表示,sin(x)用“+”表示,在两个图形相交的点上则用sin(x)图形的符号。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图形的交点,再分别控制打印两个不同的图形。自定义图形为62列*/#include #incl原创 2010-05-19 16:23:00 · 1792 阅读 · 0 评论 -
排序法比较(C++)
一、程序设计的基本思路:1、冒泡排序算法:起泡排序就是把小的元素往前调或者把大的元素往后调。比较的是相邻的两个元素的大小,交换也发生在这两个相邻元素之间。2、选择排序算法:选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。3、插入排序算法:插入排序原创 2010-05-20 12:38:00 · 980 阅读 · 0 评论 -
在屏幕上用“*”显示0~360度的余弦函数cos(x),sin(x)曲线
/*绘制余弦曲线: 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 问题分析与算法设计:关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得本文要求的图形就必须在一行中一次输出两个“*”。为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。原创 2010-05-20 12:35:00 · 4455 阅读 · 0 评论 -
十进制数与二、八进制数互转
/*十进制数转换为二、八进制形式 二、八进制形式转换为十进制数*///头文件区#include #include #include using namespace std;//函数声明区void DecToBinSigned(int n);void DecToBinUnsigned(int n);void DecToOctalSigned(int n原创 2010-05-28 16:31:00 · 1681 阅读 · 0 评论