某地质211c语言作业

废话不多说

#include<stdio.h>
#include<math.h>

int dis(long long int, long long int);
int fuc1(int , int , int );
int main()
{
    printf("没有交互,请自行设置,程序编写者给您提供了充足的发挥空间。\n");
    fuc1(0, 0, 1);
    return 0;
}


//函数1,题目一的函数定义
int dis(long long int X, long long int Y)//大写的XY是参照量
{
    long long int x = 0;
    long long int y = 0;//x和y都是计算量
    int s = 0;//s是要求的螺线距离
    int i = 0;
    int j = 0;//这几个作为循环的变量,也做计算使用

    for (i = 1; (x != X) || (y != Y);i++)
    {
        for (j = 1;j <= i;j++)
        {
            if ((x == X) && (y == Y))
                break;
            x = x + pow(-1, i);
            s++;
            if ((x == X) && (y == Y))
                break;

        }

        for (j = 1;j <= i;j++)
        {
            if ((x == X) && (y == Y))
                break;
            y = y + pow(-1, i + 1);
            s++;
            if ((x == X) && (y == Y))
                break;

        }
    }
    //printf("s=%d", s);
    return s;
}


//函数2,题目二的函数定义
int fuc1( int M, int N, int D)
{
    long long S = 0;
    int p = 0;
    int q = 0;
    for (p = (M - D);(M - D) <= p&&p <= (M + D);p++)
    {
        for (q = (N - D);(N - D) <= q&&q <= (N + D); q++)
        {
            int d = pow(p - M, 2)+ pow(q - N, 2);
            if (d <= pow(D, 2))
            {
                S = S + dis(p, q);
            }
            
        }
    }
    printf("S=%lld", S);
    
    return S;
}

小红心拿来。

xixixixi

(图片来源网络,侵删)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘大帅-荆州刺史

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值