每天一练——牛客网基础语法(7)

 今天咱们继续冲十题,多多益善敲起来。加油加油!!

目录

61.牛牛的二三七整除

62.统计数据正负个数

63.网购

64.牛牛的快递

65. 计算商品打折结算金额

66. 牛牛的通勤

67.牛牛的金币 

68.牛牛的一周

69.HTTP状态码

70. 计算单位阶跃函数

结尾



61.牛牛的二三七整除

描述:牛牛从键盘输入一个整数,请你判断这个整数能被 2 3 7 中哪几个数整除,并按升序输出。如果不能被 2 3 7 任意一个数整除则输出 n。

输入描述:输入一个整数

输出描述:输出能被 2 3 7 哪几个数整除,并按升序输出。

示例:        输入:6        输出:2 3

#include<stdio.h>
int main()
{
    int ch;
    scanf("%d",&ch);
    if(ch%2==0)
        printf("2 ");
    if(ch%3==0)
        printf("3 ");
    if(ch%7==0)
        printf("7 ");
    if(ch%7!=0&&ch%3!=0&&ch%2!=0)
        printf("n");
    return 0;
}

62.统计数据正负个数

描述:输入10个整数,分别统计输出正数、负数的个数。

输入描述:输入10个整数(范围-231~231-1),用空格分隔。

输出描述:两行,第一行正数个数,第二行负数个数,具体格式见样例。

示例:        输入:-1 2 3 -6 7 8 -1 6 8 10

                   输出:positive:7

                             negative:3

#include<stdio.h>
int main()
{
    int arr[10],i;
    int pos=0;
    int neg=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&arr[i]);
        if(arr[i]>0)
            pos++;
        else if(arr[i]<0)
            neg++;
        else
        {};
    }
    printf("positive:%d\n",pos);
    printf("negative:%d\n",neg);
    return 0;
}

63.网购

描述:KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱数。

数据范围:衣服价格满足1≤val≤100000

输入描述:一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。 注:输入日期保证只有“双11”和“双12”。

输出描述: 一行,小明实际花的钱数(保留两位小数)。(提示:不要指望商家倒找你 钱) 

示例:输入:1000.0 11 11 1

           输出:650.00

#include<stdio.h>
int main()
{
    float m;
    int motch,day,quan;
    scanf("%f %d %d %d",&m,&motch,&day,&quan);
    float c=0;
    if(motch==11&&day==11)
    {
        c=0.7;
    }
    else if(motch==12&&day==12)
    {
        c=0.8;
    }
    float pay=m*c-50*quan;
    if(pay<=0){
        printf("0.00");
    }
    else{
        printf("%.2f\n",pay);
    }
    return 0;
}

64.牛牛的快递

描述:牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费

输入描述:第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,'y' 表示加急 ,'n' 表示不加急。

输出描述:输出牛牛总共要支付的快递费用

示例:输入:1.5 y

           输出:26

#include<stdio.h>
#include<math.h>
int main()
{
    float a;
    char b;
    int ch;
    int sum=20;
    scanf("%f %c",&a,&b);
    if(a<1)
    {
        sum=20;
    }
    else if(a>1)
    {
        ch=ceil(a);
        sum+=ch-1;
    }
    if(b=='y')
        sum+=5;
    printf("%d",sum);
    return 0;
}

65. 计算商品打折结算金额

描述:

牛牛商场促销活动:

满100打9折;

满500打8折;

满2000打7折;

满5000打6折

牛阿姨算不清楚自己应该付多少钱,请你帮忙算一下

输入描述:牛阿姨购买商品打折前的总金额

输出描述:参加活动后,牛阿姨购买商品应付金额。(保留小数点后1位)

示例:输入:654

           输出:523.2

#include<stdio.h>
int main()
{
    double a,sum;
    scanf("%lf",&a);
    if(a>=100&&a<=499)
    {
        sum=a*0.9;
    }
    else if(a>=500&&a<=1999)
    {
        sum=a*0.8;
    }
    else if(a>=2000&&a<=4999)
    {
        sum=a*0.7;
    }
    else if(a>=5000)
    {
        sum=a*0.6;
    }
    printf("%.1lf",sum);
    return 0;
}

66. 牛牛的通勤

描述:牛牛的通勤路上有两种选择,要么走路,要么打车,牛牛走路的速度是 1m/s 。打车的速度的 10m/s ,但是打车需要等出租车 10 s,请你计算牛牛想尽快到公司应该选择打车还是走路。

输入描述:输入一个正整数,表示牛牛到公司的距离。

输出描述:输出牛牛想尽可能快到公司应该选择打车还是走路,走路的话输出 w , 打车的输出 v。保证答案一定不会出现两个方案时间一样的情况。

示例:输入:10

           输出:w

#include<stdio.h>
int main()
{
    int s;
    scanf("%d",&s);
    double timew=s;
    double timev=10+s/10.0;
    if((double)timew<timev)
    {
        printf("w\n");
    }
    else{
        printf("v\n");
    }
    return 0;
}

67.牛牛的金币 

描述:牛牛尝试在蒙住眼睛的情况下拿到旁边的金币,假设的坐标是 (x,y) ,金币的坐标是 (x1,y1) ,金币一定在牛牛在周围,即 ∣x1​−x∣+∣y1​−y∣=1  请你判断牛牛应该往哪个方向伸手

输入描述:

第一行输入 x ,y 表示牛牛的坐标。

第二行输入 x1,y1 表示金币的坐标。保证 ∣x1​−x∣+∣y1​−y∣=1 

坐标是整数。

输出描述:输出牛牛应该往哪个方向伸手。

例 

(x,y)=(0,0) (x1,y1)=(0,1) ,则牛牛向上伸手,输出 'u' 。

(x,y) =(0,0) (x1,y1) = (0,-1) ,则牛牛向下伸手,输出 'd'。

(x,y) =(0,0) (x1,y1) = (1,0) ,则牛牛向右伸手,输出 'r'。

(x,y) =(0,0) (x1,y1) = (-1,0) ,则牛牛向左伸手,输出 'l'。

示例:输入:0 0

                      0 1

           输出:u

#include<stdio.h>
int main()
{
    int x,x1,y,y1;
    scanf("%d %d\n%d %d",&x,&y,&x1,&y1);
        int m=x1-x;
    int n=y1-y;
    if(n==1)
        printf("u");
    if(n==-1)
        printf("d");
    if(m==1)
        printf("r");
    if(m==-1)
        printf("l");
    return 0;
}

68.牛牛的一周

描述:

牛牛的一周有七天,从周一到周日对应的英文是

1、星期一:Monday

2、星期二:Tuesday

3、星期三:Wednesday

4、星期四:Thursday

5、星期五:Friday

6、星期六:Saturday

7、星期日:Sunday

牛牛知道今天是星期几,请输出这天的英文

输入描述:输入今天是星期几

输出描述:输出对应的英文

示例:输入:1
           输出:Monday

#include<stdio.h>
int main()
{
    int a=0;
    scanf("%d",&a);
    switch(a)
    {
        case 1:
        printf("Monday");
        break;
        case 2:
        printf("Tuesday");
        break;
        case 3:
        printf("Wednesday");
        break;
        case 4:
        printf("Thursday");
        break;
        case 5:
        printf("Friday");
        break;
        case 6:
        printf("Saturday");
        break;
        case 7:
        printf("Sunday");
        break;
    }
    return 0;
}

69.HTTP状态码

描述:KiKi访问网站,得到HTTP状态码,但他不知道什么含义,BoBo老师告诉他常见HTTP状态码:200(OK,请求已成功),202(Accepted,服务器已接受请求,但尚未处理。)400(Bad Request,请求参数有误),403(Forbidden,被禁止),404(Not Found,请求失败),500(Internal Server Error,服务器内部错误),502(Bad Gateway,错误网关)。

输入描述:多组输入,一行,一个整数(100~600),表示HTTP状态码。

输出描述:针对每组输入的HTTP状态,输出该状态码对应的含义,具体对应如下:
200-OK
202-Accepted
400-Bad Request
403-Forbidden
404-Not Found
500-Internal Server Error
502-Bad Gateway

示例:

输入:200

输出:OK

#include<stdio.h>
int main()
{
    int a;
    while(scanf("%d\n",&a)!=EOF)
    {
    switch(a)
    {
        case 200:
        printf("OK\n");
        break;
        case 202:
        printf("Accepted\n");
        break;
        case 400:
        printf("Bad Request\n");
        break;
        case 403:
        printf("Forbidden\n");
        break;
        case 404:
        printf("Not Found\n");
        break;
        case 500:
        printf("Internal Server Error\n");
        break;
        case 502:
        printf("Bad Gateway\n");
        break;
        default:break;
         }
    }
    return 0;
}

70. 计算单位阶跃函数

描述:

KiKi最近学习了信号与系统课程,这门课里有一个非常有趣的函数,单位阶跃函数,其中一种定义方式为:

现在试求单位冲激函数在时域t上的值。 

输入描述:题目有多组输入数据,每一行输入一个t(-1000<t<1000)表示函数的时域t。

输出描述:输出函数的值并换行。

输入:11

            0

            -11

 输出:1

            0.5

            0

#include<stdio.h>
int main()
{
    int t;
    while(~scanf("%d\n",&t))
    {
        if(t>0)
        {
            printf("%d\n",1);
        }
        else if(t==0)
        {
            printf("%.1f\n",0.5);
        }
        else
            printf("%d\n",0);
    }
    return 0;
}

结尾

不会就多刷题,一题一题的过慢慢掌握方法,再回过头来想更好的方法

 期待你们的关注,我会更努力去做好每一个知识点,谢谢!!

麻烦点个不用钱的谢谢大家啦!!

 我是Try_harder,正在磕磕绊绊中成长~~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Try_harder.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值