牛客网基础语法61~70题

简介: 前言:今天是咱们第七期刷牛客网上的题目。目标:可以掌握循环嵌套,逻辑思维更加清晰,对循环知识掌握熟练。鸡汤:城市人潮拥挤,别走丢了自己。先干为敬,大家随意。

前言:今天是咱们第七期刷牛客网上的题目。

目标:可以掌握循环嵌套,逻辑思维更加清晰,对循环知识掌握熟练。

鸡汤:城市人潮拥挤,别走丢了自己。先干为敬,大家随意。


🚩第一题4bc64e2ee9b64bd3b38e5574237926a6.png

我这里采用循环的形式来解决,有点大材小用,但是技多不压身。

#include<stdio.h>
int main()
{
  //初始化
  int n = 0;
  int arr[3] = { 2,3,7 };//定义被除数
  int i = 0;
  int count = 0;//计入次数
  //输入
  scanf("%d", &n);
  //判断
  for (i = 0; i < 3; i++)
  {
    if (n % arr[i] == 0)
    {
      printf("%d ", arr[i]);
    }
    else
    {
      count++;
    }
  }
  //如果 2 3 7都不能除尽
  if (count == 3)
  {
    printf("n\n");
  }
  return 0;
}


🚩第二题3ef234e1012b4d3587840a1f84d8686a.png

可别忘了 0 既不是正数也不是负数

#include<stdio.h>
int main()
{
  //定义数组
  int arr[10] = { 0 };
  int i = 0;
  int positive_num = 0;
  int minus = 0;
  //输入十个数字,并且判断
  for (i = 0; i < 10; i++)
  {
    scanf("%d", &arr[i]);
    //统计负数
    if (arr[i] < 0)
    {
      minus++;
    }
    //统计正数
    if (arr[i] > 0)
    {
      positive_num++;
    }
  }
  printf("positive:%d\n", positive_num);
  printf("negative:%d\n", minus);
  return 0;
}


🚩第三题

0251578d83884d45a6f5f1c26fc3d58e.png

我可能做的有点笨,但是思路清晰,对不对

#include <stdio.h>
int main()
{
    //初始化
    double val = 0;
    int month = 0;
    int day = 0;
    int roll = 0;
    double money = 0;
    //输入
    scanf("%lf %d %d %d", &val, &month, &day, &roll);
    //判断
    //不是双12也不是双11
    if ((month != 12 || day != 12) || (month != 11 || day != 11))
    {
        if (roll == 1)
        {
            //金钱数小于50
            if (money < 50)
            {
                money = 0;
            }
            //金钱数大于等于50
            else
            {
                money = money - 50;
            }
        }
    }
    //是双11
    if (month == 11 && day == 11)
    {
        money = val * 0.7;
        if (roll == 1)
        {
            if (money < 50)
            {
                money = 0;
            }
            else
            {
                money = money - 50;
            }
        }
    }
    //是双12
    if (month == 12 && day == 12)
    {
        money = val * 0.8;
        if (roll == 1)
        {
            if (money < 50)
            {
                money = 0;
            }
            else
            {
                money = money - 50;
            }
        }
    }
    printf("%0.2lf", money);
    return 0;
}


🚩第四题

574ba59d102e4c58aca4e6cfbe69b316.png

#include <math.h>
int main() 
{
    //定义变量
    float a;
    char b;
    int money = 20;
    //输入
    scanf("%f %c", &a, &b);
    //判断
    //当包裹大于 0 并且小于 1
    if (a > 0 && a <= 1)
    {
        //判断是否需要快送
        if (b == 'y')
            printf("25");
        else
            printf("20");
    }
    //当包裹大于 1 
    if (a > 1)
    {
        money = money + ceil(a - 1);
        //判断是否需要快送
        if (b == 'y')
            printf("%d", money + 5);
        else
            printf("%d", money);
    }
}


🚩第五题

36ee783a1b084727a9e340f3fcb1525f.png

这里出现一道c++的题目,但是写起来没问题的。

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
    double price;
    cin >> price;
    double cost = 0.0;
    // write your code here.......
    if(price>=100&&price<500)
        cost=price*0.9;
    else if(price>=500&&price<2000)
        cost=price*0.8;
    else if(price>=2000&&price<5000)
        cost=price*0.7;
    else if(price>=5000)
        cost=price*0.6;
    cout << setiosflags(ios::fixed) << setprecision(1) << cost << endl;
    return 0;
}


🚩第六题

6e1090743a5c47c7b25364c49825cf9b.png

这里我用了三目操作符,不知道大家还记不记得。

#include <stdio.h>
int main() 
{
    //初始化
    int a;
    float taxi;
    //输入
    scanf("%d", &a);
    //计算打车时间
    taxi = a / 10.0 + 10;
    //打印
    printf("%c\n", a < taxi ? 'w' : 'v');
    return 0;
}


🚩第七题

db72e1556042468da95b9cd9c17950f8.png

其实这道题还是比较基础的,可别写着写着就搞混啦。

#include <stdio.h>
int main()
{
    //定义变量
    int x, y, x1, y1;
    //输入
    scanf("%d %d\n%d %d", &x, &y, &x1, &y1);
    //判断
    if (x1 - x == 0 && y1 > y)
        printf("u");
    else if (x1 - x == 0 && y1 < y)
        printf("d");
    else if (x1 > x && y1 - y1 == 0)
        printf("r");
    else if (x1 < x && y1 - y1 == 0)
        printf("l");
    return 0;
}


🚩第八题

f2c49d86af774653ab8f020d97e26018.png

这里有更好的解法,我写成下面的代码的样子,目的是让大家再巩固巩固switch语句。大家有更好的解法,留言给大家看看

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


🚩第九题

a8594897ea7c484fbcf93127e66d8e92.png

多组输入别忘了要吸收 \n

**~scanf(“%d”, &a)这里和scanf(“%d”,&a) != EOF**是一样的。

#include <stdio.h>
int main()
{
    //初始化
    int a = 0;
    //实现多组输入
    while (~scanf("%d", &a))
    {
        //吸收 \n
        getchar();
        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");
        }
    }
    return 0;
}


🚩第十题2c05a90725ba46508bf18d30db70dd7c.png

其实上面的几道题都是相似的。

#include<stdio.h>
int main() 
{
    //初始化
    int a = 0;
    //多组输入
    while (scanf("%d", &a) != EOF) 
    {
        //判断
        if (a > 0) 
            printf("1\n");
        else if (a == 0) 
            printf("0.5\n");
        else 
            printf("0\n");
    }
    return 0;
}


结束语


今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。

目录
相关文章
|
6月前
|
存储 算法 C语言
C语言刷题~Leetcode与牛客网简单题
C语言刷题~Leetcode与牛客网简单题
|
6月前
牛客网基础语法91~100题
牛客网基础语法91~100题
51 0
|
6月前
牛客网基础语法101~110题
牛客网基础语法101~110题
64 0
|
6月前
牛客网基础语法111~120题
牛客网基础语法111~120题
60 0
|
6月前
牛客网基础语法71~80题
牛客网基础语法71~80题
44 0
|
6月前
|
编译器
牛客网基础语法81~90题
牛客网基础语法81~90题
53 0
牛客网基础语法31~40题
前言:今天是咱们第四期刷牛客网上的题目。 目标:熟练用数学知识来解决编程问题,逻辑思维更加紧密,可以用更简单的方法,来解决编程问题。 鸡汤:不要说看破红尘心已寒,红尘本就是清浊合流浪滔天;不要说怀才不遇,才华本就是为人作嫁铺路砖。先干为敬,大家随意。
77 0
牛客网基础语法21~30题
前言:今天是咱们第三期刷牛客网上的题目。 目标:掌握基础编程,带有数学思维解决编程相关问题。 鸡汤:早上起来有两个选择,盖上被子做你未完成的梦,掀开被子完成你未完成的梦。先干为敬,大家随意。
58 0
|
C语言
牛客网基础语法41~50题
前言:今天是咱们第五期刷牛客网上的题目。 目标:熟练用数学知识来解决编程问题,会利用每种循环。 鸡汤:压抑了,那就换个环境呼吸;困惑了,那就转个角度思考;没路了,不妨回头,路在脚下,哪个方向都可以走。先干为敬,大家随意。
53 0
|
存储 编译器
牛客网基础语法1~10题
今天是咱们第一期刷牛客网上的题目。 目标:掌握基础编程,打牢基础知识,有一定的编程思想 鸡汤:读不在三更五鼓,功只怕一曝十寒。先干为敬,大家随意。
59 0