1、math.hvoid main()double y;int x,m;for(y=1;y=-1;y-=0.1) m=acos(y)*10;for(x=1;xm;x+) printf( );printf(*for(;62-m;x+)printf(*nno2.绘制余弦曲线和直线在屏幕上显示0360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。本题可以在上题的基础上进行修改。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图
2、形的交点,再分别控制打印两个不同的图形。*程序注释与说明int x,m,n,yy;for(yy=0;yy=20;yy+)y=0.1*yy;m=acos(1-y)*10;n=45*(y-1)+31;for(x=0;=62;x+)if(x=m&x=n) printf(+else if(x=n) printf(else if(x=m|x=62-m) printf(elsen-no3.绘制圆在屏幕上用“*”画一个空心的圆打印圆可利用图形的左右对称性。根据圆的方程:R*R=X*X+Y*Y可以算出圆上每一点行和列的对应关系。for(y=10;=-10;y-)m=2.5*sqrt(100-y*y);30-m
3、;30+m;no4.歌星大奖赛在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。*问题分析与算法实现这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。int integer,i,max,min,sum;max=-32768;min=32767;sum=0;for(i=1;imax)max=integer;if(integer=100;j-)if(i%j=0)The max factor with 3 digits in %ld is:%d,n,i,j);break;输
4、入:555555输出:The max factor with 3 digits in 555555 is:777no6.高次方数的尾数求13的13次方的最后三位数解本题最直接的方法是:将13累乘13次方截取最后三位即可。但是由于计算机所能表示的整数范围有限,用这种“正确”的算法不可能得到正确的结果。事实上,题目仅要求最后三位的值,完全没有必要求13的13次方的完整结果。研究乘法的规律发现:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。利用这一规律,可以大大简化程序。int i,x,y,last=1;Input X and Y(X*Y):%d*%dx,&y);=y;i
5、+)last=last*x%1000;The last 3 digits of %d*%d is:,x,y,last%1000);13*13The last 3 digits of 13*13 is:25313*20The last 3 digits of 13*20 is:801no8.借书方案知多少小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。int a,b,c,count=0;There are diffrent methods for XM to distribute books to 3 readers:for(a=1;a=5;a+)for(b=1;bb+)for(c=1;a!=b&cc+)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1