OJ算法可运行⑨

OJ算法题共10个篇幅,不定期在篇幅里增加题目(篇幅不增加)。

个人水平有限,如有错误和可以改进的地方,非常期待批评指正,谢谢!

题目描述

给你三个整数 a,b,c

,请你找出其中第二小的数。
输入

输入包含三个整数 a,b,c

,题目保证数据在int范围内。
输出

输出第二小数的值。
输入样例

1 2 3

输出样例

2
 

#include<stdio.h>
int main(){
    int a,b,c,d;
    scanf("%d%d%d",&a,&b,&c);
    if(a<b){
        d=a;
        a=b;
        b=d;
    }
    if(a<c){
        d=a;
        a=c;
        c=d;
    }
    if(b<c){
        d=b;
        b=c;
        c=d;
    }
    printf("%d",b);
    return 0;
}

题目描述

傻傻Aqi的数学很不好,连四则运算都费劲,就更别说算平方了。于是聪明的Alice决定给他用C语言编写一个简单计算器,可是她最近太忙了,同样聪明的同学们,你们能帮Alice帮Aqi编写这个计算器吗?(好多个“帮”,好拗口啊喂...)

简单计算器要求:能进行加、减、乘、除运算。
输入

第一项为运算符op,比如:+,-,*,/。 第二项为第一个双精度浮点型运算数x,
第三项为第二个双精度浮点型运算数y。
保证分母不为0。
输出

输出运算的结果,即x op y的值。(结果保留两位小数)
输入样例

+
10.19
12.3

输出样例

22.49
 

#include<stdio.h>
int main(){
    int op;
    double a,b,c;
    scanf("%c %lf %lf",&op,&a,&b);
    if(op=='+')
        c=a+b;
    else if(op=='-')
        c=a-b;
    else if(op=='*')
        c=a*b;
    else if(op='/'&&b!=0)
        c=a/b;
    printf("%.2f\n",c);
    return 0;
}

题目描述

编写圆台体积计算程序,即通过输入上底半径r、下底半径R、高h计算圆台体积。将计算结果保留两位小数。 提示:圆台体积公式为:

    $V=\frac{1}{3}\pi h(R^2+r^2+R\cdot r)$

输入

输入数据包含三行,每行一个整数:

第一行为上底半径r;

第二行为下底半径R;

第三行为高h。
输出

输出数据包含一行,为一个数V,表示圆台体积。保留两位小数。
输入样例

2
3
3

输出样例

59.69
 

#include<stdio.h>

int main(){
    int r,R,h;
    float V;

    scanf("%d%d%d",&r,&R,&h);

    V=(3.1415926*h*(R*R+r*r+R*r))/3;

    printf("%.2f",V);

    return 0;

}

题目描述
题意简单点,就是两个分数的相加。用假分数的表示法来表示。

输入
第一行一个数T表示有T组数据。
接下来T组数据,每组数据都都只有一行,四个整数a,b,c,d(1<=a,b,c,d<=10000)。

输出
对于每组测试数据,输出两个整数,e,f表示a/b+c/d=e/f。注意要约分哦。

输入样例
2
1 3 1 6
1 2 1 2
输出样例
1 2
1 1

#include<stdio.h>
int g(int a,int b){
    int c;
    while(b){
        c=a%b;
        a=b;
        b=c;
    }
    return a;
}
int main(){
    double a,b,c,d;
    int n;
    while(~scanf("%d",&n)){
        for(int i=0;i<n;i++){
            scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
            int e,f;
            e=a*d+c*b;
            f=b*d;
            int k=g(e,f);
            printf("%d %d\n",e/k,f/k);
        }
    }
    return 0;
}

 

题目描述
现在我们有一个神奇的桌子。桌子共有n行n列总计n^2个方格。每个方格上都有一个数字,它的值为i*j(i,j分别方格所在行数和列数,范围为1到n)。
现在给你一个数字x,请你统计下桌子上共有多少个x。

输入
输入多组数据
每组数据共一行,每行两个数字n,x(1<=n<=1e5,1<=x<=1e9)

输出
对于每组数据
输出一个数字:桌子上x的数目

输入样例
10 5
6 12
5 13
输出样例
2
4
0
样例说明
对第二组样例进行说明:
12在桌子上共出现了4次
1 2 3 4 5 6
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
5 10 15 20 25 30
6 12 18 24 30 36

#include<stdio.h>
int main(){
    int n,x,i,j;
    while(scanf("%d%d",&n,&x)!=EOF){
            int num=0;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(i*j==x){
                    num++;
                }
            }
        }
        printf("%d\n",num);
    }
    return 0;
}

 

题目描述
cool_breeze最喜欢搜集不同颜色的袜子啦。所以他一共有n只红色的袜子和m只蓝色的袜子。
像cool_breeze这么非主流的人,最喜欢穿两只颜色不一样的袜子啦!穿颜色不一样的袜子的时候他就会很开心。要是袜子颜色一样的话他就会不开心。
现在,请你统计下cool_breeze开心的天数和不开心的天数吧!(要是能开心cool_breeze当然不会让自己不开心啦O(∩_∩)O)

输入
多组输入数据
每组共一行,每行两个数字n,m,分别代表红袜子的数目和蓝袜子的数目(1<=n,m<=10000)

输出
对于每组输入,分别输出cool_breeze开心的天数和不开心的天数(用空格格开)

输入样例
3 1
2 3
7 3
输出样例
1 1
2 0
3 2

#include<stdio.h>
int main(){
    int n,m,i,j;
    while(scanf("%d%d",&n,&m)!=EOF){
        if(m<n){
            int temp=m;
            m=n;
            n=temp;
        }
        if(n<=m){
            i=n;
            j=(m-n)/2;
            printf("%d %d\n",i,j);
        }
    }
    return 0;
}

上一篇

下一篇

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

磊磊cpp

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

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

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

打赏作者

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

抵扣说明:

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

余额充值