OJ算法可运行⑥

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

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

题目描述

求出 A,B,C

中第二大的数
输入

输入一行,包括三个不同的整数 A,B,C

(数据保证在 int 范围内)
输出

输出一行,一个整数,其中第二大的数
输入样例

4 8 12

输出样例

8

#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;
}

 

题目描述

小w最近觉得学号和一个人的运气存在着某种特殊的联系,这种神秘的力量冥冥之中在发挥着作用。

他定义了一个不超过8位的学号n的幸运值L的计算方法:首先定义一个数的个位为第1位,十位为第2位,以此类推。L=各位上的数字与其位数的乘积之和,即学号n第i位上的数字为ai
对L的贡献为i∗ai

例:若学号n=1737400,则它对应的L=0*1+0*2+4*3+7*4+3*5+7*6+1*7=104。

现在请你帮小w计算一个给定学号n对应的幸运值L。
输入

一个整数n(0<=n<10^9)
输出

一个整数L,为n对应的幸运值
输入样例

16066666

输出样例

140
 

#include<stdio.h>
int main()
{
 int n,b;
 int L=0,i;
 scanf("%d",&n);
 for(i=1;n>0;i++){
 	b=n%10;
 	n=n/10;
 	L=L+b*i;
 }
 printf("%d",L);
 return 0;
}

题目描述

给你一个形如"a/b"的分数,请你用小数近似表示,保留两位。
输入

输入仅有一行,包括一个形如"a/b"的分数,其中a和b均为不大于100000的正整数。
输出

输出一行,包括分数所对应的小数,保留两位小数。
输入样例

2/3

输出样例

0.67

Hint

注意 scanf 格式控制串的使用,是不是可以 scanf("%d/%d", &a, &b) 呢
 

#include<stdio.h>
int main()
{
    int n,a,b,c;
    scanf("%d",&n);
    a=n/100;
    b=(n/10)%10;
    c=n%10;
    printf("%d\n",c*100+b*10+a);
    return 0;
}

题目描述
面对这么多成绩,助教很是头疼呢[悲伤]。好在宋老师说只要给成绩分级就行啦!那么,就由你来帮帮助教吧O(∩_∩)O
90<=X<=100 A
80<=X<90    B
70<=X<80    C
60<=X<70    D
X<60    E
对于那些不合法的成绩,输出wrong就可以啦!(不合法是指低于0分或者高于100分)

输入
多组输入输出
每组一行,为成绩n

输出
成绩对应的等级或者wrong

输入样例
90
80
70
60
50
-1

输出样例
A  
B
C
D
E
wrong

#include<stdio.h>
int main(){
    int n,a=0;
    while(scanf("%d",&n)!=EOF){
            if(n>=0&&n<=100){
                a=n/10;
                switch(a){
                    case 10:
                    case 9:printf("A\n");break;
                    case 8:printf("B\n");break;
                    case 7:printf("C\n");break;
                    case 6:printf("D\n");break;
                    case 5:
                    case 4:
                    case 3:
                    case 2:
                    case 1:
                    case 0:printf("E\n");break;
                }
            }
            else
                printf("wrong\n");
    }
    return 0;
}

 

题目描述
公公由于某些不知名(zuo)的(si)原(tai)因(duo)终于患上了偏头痛,说话也成了问题,每次张口都只能说出一段无意义的字符orz。 
有一天wjh找到了他,问了他一个问题,公公很想回答,因为这关系到他的一(qi)生(mo)幸(cheng)福(ji),但他太紧张了以至于说不出想说的//\\^'\n#s)\tF*//\r了…… 
wjh表示很同情,于是说那你给我写出来吧。但大家都知道公公并不会使用转义符,于是他只能求助你们啦~ 
wjh还表示并不能听懂,于是某FBBBBBB自告奋勇回答公公的话,他说出了http://i.youku.com/microhhh 的字符,但是FB转义符也早已荒废,于是又只能靠你们辣~~

输入
这道题不需要输入。

输出
输出指定的两串字符,中间以空行隔开 
//\\^'\n#s)\tF*//\r

输入样例

输出样例
//\\^'\n#s)\tF*//\r     


#include<stdio.h>
int main(){
    printf("\/\/\\\\\^\'\\n\#s\)\\tF\*\/\/\\r\n\nhttp://i.youku.com/microhhh");
    return 0;
}

题目描述
柯南在追捕犯人的时候掉入了没有井盖的深井,万幸他有阿笠博士发明的吸盘,但吸盘在掉下来的时候摔坏了,他每个小时能爬上一段距离。但在他每小时休息的一瞬间里会滑下一段距离,柯南需要编写代码来判断在自己能否爬出深井以及需要的时间,于是柯南开始敲代码。

输入
n组测试数据。
第一行为一个整数n,表示组数
第二行为一个整数a,表示井的深度。
第三行为一个整数b,表示柯南每小时爬的距离。
第四行为一个整数c,表示柯南每小时滑下的距离。
n,a,b,c都在int范围内。

输出
每行输出一个结果。
若不能爬出深井,则输出"fail",
若能爬出深井,则输出爬出深井需要的时间。

输入样例
3  
10 3 2  
10 4 4  
25 7 3  
输出样例
8
fail
6

#include<stdio.h>
int main(){
    int n,a,b,c,d,e;
    while(scanf("%d",&n)!=EOF){
        for(int i=0;i<n;i++){
            scanf("%d%d%d",&a,&b,&c);
            if((b-c)<=0){
                printf("fail\n");
            }
            else{
                a=a-b;
                e=a%(b-c);
                d=a/(b-c);
                if(e>0)
                    d++;
                printf("%d\n",++d);
            }
        }
    }
    return 0;
}


上一篇

下一篇

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

磊磊cpp

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

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

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

打赏作者

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

抵扣说明:

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

余额充值