xjoi题库一级二段题解(c语言版)

开根号

时间:0.2   空间:32M

题目描述:

输入一个整数, 求它的平方根,输出答案向下取整.

比如5√=2, 16−−√=4

输入格式:

输入一个整数

输出格式:

输出一个整数

样例输入1:
5
样例输出1:
2

样例输入2:
16
样例输出2:
4

约定:

1<=n<=100000

#include <stdio.h>
#include <math.h>
int main(){
    int x;
    scanf("%d",&x);
    printf("%d",(int)sqrt(x));
    return 0;
}

 

切比雪夫距离

时间:0.2   空间:32M

题目描述:

定义两个点之间切比雪夫距离的大小是它们各自坐标数值差的绝对值的最大值。如果将两个点表示为(x1,y1)和(x2,y2),则切比雪夫距离可表示为max(|x1-x2|, |y1-y2|),|x|表示x的绝对值。

输入格式:

四个整数,a,b,c,d。坐标为(a,b)与(c,d)

输出格式:

输出这两个点的切比雪夫距离。

样例输入:

1 2 3 4

样例输出:

2

约定:

0<=a,b,c,d<=100

#include <stdio.h>
#include <math.h>
int main(){
    int a,b,c,d;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    int max=fabs(a-c)>fabs(b-d)?fabs(a-c):fabs(b-d);
    printf("%d",max);
    return 0;
}

直角三角形

时间:0.2   空间:32M

题目描述:

使用勾股定理,根据一个直角三角形的两条直角边,问斜边长度。保证三条边长都为整数。

输入格式:

一行两个不超过1000的正整数,表示直角三角形的两直角边长度。

输出格式:

一行一个整数,表示直角三角形的斜边长度。

样例输入:

3 4

样例输出:

5

约定:

a,b<=1000

提示:

勾股定理:a2 + b2 = c2 (a和b是直角边长,c是斜边长)

 

#include <stdio.h>
#include <math.h>
int main(){
    int a,b;
    scanf("%d%d",&a,&b);
    int res=(int)sqrt(pow(a,2)+pow(b,2));
    printf("%d",res);
    return 0;
}

四舍五入

时间:0.2s   空间:32M

题目描述:

将一个整数,四舍五入

12344->12340

12345->12350

12399->12400

不可以使用系统已有的函数比如 round 等。

输入格式:

输入一个整数

输出格式:

输出一个整数n

样例输入:
99
样例输出:
100

约定:

0<=n<=109

 

#include <stdio.h>
int main(){
    int x;
    scanf("%d",&x);
    int flag=x%10;
    if(flag>4){
        printf("%d",x+(10-flag));
    }else{
        printf("%d",x-flag);
    }
    return 0;
}

 

大力水手波派

时间:1s   空间:256M

   相信大家一定听过大力水手波派的故事。每当危急关头,波派就会拿出他的秘密武器——菠菜!吃了菠菜的波派会变得力大无穷,天下无敌!(波派每吃1g菠菜,就能增长1kg的力气。)

   有一天,五个不同国家的大力士同时向波派发出了挑战书。由于五个国家之间路途遥远,波派决定挑选一个最强的对手,去往他所在的国家迎接挑战!在收拾行囊时,波派犯了难,请问他应该准备至少多少克的菠菜,才能保证他一定能击败对手?(规定1、波派初始力气一定小于力气最大的大力士;2、只有力气比对手大,才算击败;3、力气为整数)

输入格式

6个整数 bopai,a1,a2,a3,a4,a5,分别表示波派和五名大力士的力气,单位为千克(kg)。

输出格式

一个整数,表示波派要带的菠菜,单位为克(g)。

样例输入
100 23 41 120 56 93

样例输出
21
约定

0<=bopai,a1,a2,a3,a4,a5<=1000

数据保证 bopai<=力气最大的大力士

提示

在上述例子中,力气最大的大力士的力气是120千克(kg),而波派的初始力气是100千克(kg)。波派需要吃21克(g)菠菜让自己力气涨到121千克(kg)才能打败最强的大力士。

 

#include <stdio.h>
int main(){
    int arr[6];
    int i;
    for(i=0;i<6;i++){
        scanf("%d",&arr[i]);
    }
    int max=arr[1];
    for(i=2;i<6;i++){
        if(max<arr[i]){
            max=arr[i];
        }
    }
    printf("%d",max-arr[0]+1);
    return 0;
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值