2)判定五个整数中的最大值
3)输出最大值
其中第二点位重要的 很雀宏档多方式,取一个简单的
//设定一个最大值变量
Int Max=0;
//把用户输入的值放在数组中
Int[5] intLis=new Int[5]
Int[0]=数值1
Int[1]=数值2
. .
. .
Int[5]=数值5
//循环判断出最大值
//这个位置是
//循环判断数组中
//每个数字与这个数字之前的所有数字中最大的数字
//如果当前数字大于之前的最大数字 则吧Max改为当前的 反之不变
for(int i =0i<= intLis.Lenghi++){
if(int[i]>顷乱Max){
Max=int[i]
}
}
不知道你题目中的塔是柱状塔还是锥状塔,启肢腔对于柱状塔,源代码如下。#include "stdio.h"
#include "math.h"
double Dist(double x1, double y1, double x2, double y2)
{
return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * ( y1 - y2))
}
double GetHigh(double x, double y),
{
int signx = 1, signy = 1
if(x <0) signx = -1 /*先求点(x, y)所在象限*/
if(y <0) signy = -1
if(Dist(x, y, signx * 10, signy * 10) <= 2.0) /*求点(x, y)与最近的塔心悄衫的距离*/
return 25
else 0
}
void main( )
{
double x, y
scanf("%lf%lf", &x, &y)
printf("high = %lf", GetHigh(x, y))
}
如果是锥状塔,将求高度的函数代饥培码修改如下,其余的代码同上:
double GetHigh(double x, double y)
{
int signx = 1, signy = 1
double dist
if(x <0) signx = -1 /*先求点(x, y)所在象限*/
if(y <0) signy = -1
dist = Dist(x, y, signx * 10, signy * 10) /*求点(x, y)与最近的塔心的距离*/
if(dist <= 2.0)
return 25 * (2.0 - dist) / 2.0
else 0
}
分支跟RAM没有关系,当然,不能分支套分支套的太多,比如if(con1)
{
if(con2)
{
if(con3...)。。。。
}
}
你套的层数太困汪多了就不行了,堆栈就不够用了,一般不过6层;
这是其一,另外,如果你真必须要套很多层,那么,还有一个办法,把所有的全局变量和局部静态变量用pdata或者xdata修饰,即,把这些变量放到外空间,把内空间尽量省出来,这样丛尺悉,渗乎内空间基本可专门用于堆栈。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)