【记录】牛客OJ-牛客编程语言练习赛第一场

A ASCII码

题目描述

BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,转换以下ASCII码为对应字符并输出他们。

73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33

输入描述:

输出描述:

转换输出题目中给出的所有ASCII到对应的字符。

#include<stdio.h>
int main()
{
    int a[12];
    a[0]=73;
    a[1]=32;
    a[2]=99;
    a[3]=97;
    a[4]=110;
    a[5]=32;
    a[6]=100;
    a[7]=111;
    a[8]=32;
    a[9]=105;
    a[10]=116;
    a[11]=33;
    for(int i =0;i<=11;i++){
        printf("%c",a[i]);
    }
    printf("\n");
    return 0;
    }

B 你能活多少秒

#题目描述

 问题:一年约有3.156×107s,要求输入您的年龄,显示该年龄合多少秒。

输入描述:

一行,包括一个整数age(0<age<=200)。

输出描述:

一行,包含一个整数,输出年龄对应的秒数。

示例1

输入

20

输出

631200000

#include "stdio.h"
int main()
{
    int year = 0;
    long long second=0;
    scanf("%d",&year);
    second = 3.156e7*year;
    printf("%ld",second);

    return 0;
}

C 2的n次方计算

题目描述

不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。

输入描述:

多组输入,每一行输入整数n(0 <= n < 31)。

输出描述:

针对每组输入输出对应的2的n次方的结果。

示例1

输入

2

10

输出

4

1024

C语言中的移位操作   https://blog.csdn.net/frank_jb/article/details/97282161
“<<”用法: 
格式是:a<<m,a和m必须是整型表达式,要求m>=0。 
功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。 
“>>”用法: 
格式是:a>>m,a和m必须是整型表达式,要求m>=0。 
功能:将整型数a按二进制位向右移动m位,低位移出后,高位补0
#include<iostream>
int main()
{
    using namespace std;
    unsigned long i=1;
    int n = 0;
    while (cin >> n ){
        cout<< (i<<n)<<endl;
    }
    return 0;
}

D 及格分数

链接:https://ac.nowcoder.com/acm/contest/5904/D

来源:牛客网

题目描述

KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。

输入描述:

多组输入,每行输入包括一个整数表示的分数(0~100)。

输出描述:

针对每行输入,输出“Pass”或“Fail”。

#include<iostream>
int main()
{
    using namespace std;
    unsigned grade;
    while ( cin >> grade)
    {
        if (grade < 60) cout << "Fail"<<endl;
        if (grade >= 60 && grade <=100) cout << "Pass" << endl;
        if (grade > 100)
        {
            cerr << "error!"<<endl;
            return -1;
        }
    }
    return 0;
}

E 判断两个数的大小关系

题目描述

KiKi想知道从键盘输入的两个数的大小关系,请编程实现。

输入描述:

题目有多组输入数据,每一行输入两个整数(范围(1 ~231-1),用空格分隔。

输出描述:

针对每行输入,输出两个整数及其大小关系,数字和关系运算符之间没有空格,详见输入输出样例。

示例1

输入

1 1

输出

1=1

示例2

输入

1 0

输出

1>0

示例3

输入

0 1

输出

0<1

#include<iostream>
int main()
{
    using namespace std;
    long long int i1,i2;
    while (cin >> i1 >>i2)
    {
        if (i1 == i2) cout << i1 << "=" << i2 << endl;
        if (i1 < i2 ) cout << i1 << "<" << i2 << endl;
        if (i1 > i2 ) cout << i1 << ">" << i2 << endl;
    }
    return 0;
}

F 健康评估

题目描述

BMI指数(即身体质量指数)是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。例如:一个人的身高为1.75米,体重为68千克,他的BMI=68/(1.75^2)=22.2(千克/米^2)。当BMI指数为18.5~23.9时属正常,否则表示身体存在健康风险。编程判断人体健康情况。

输入描述:

一行,输入一个人的体重(千克)和身高(米),中间用一个空格分隔。

输出描述:

一行,输出身体Normal(正常)或Abnormal(不正常)。

#include <stdio.h>
int main()
{
    double kg,meter,BMI;
    scanf("%lf %lf", &kg, &meter);
    BMI = kg / meter / meter;
    if(BMI>18.5 && BMI<23.9)
        {
            printf("Normal\n");
        }
        else
        {
            printf("Abnormal\n");
        }
        
    return 0;
}

G 翻转直角三角形图案

题目描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转直角三角形图案。

输入描述:

多组输入,一个整数(2~20),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。

image.png

#include<iostream>
int main()
{
    using namespace std;
    int n;
    while(cin >> n)
    {
    for (int a = n; a > 0; a--)
    {
        int i = a;
        for (int b = i; b > 0; b--)
        {
            cout << "* ";
        }
        cout << endl;
    }
    }
    return 0;
}

H 统计数据正负个数

image.png

#include<iostream>
int main()
{
    using namespace std;
    long long int a[10];
    for (int i = 0; i < 10;i++)
    {
        cin >> a[i];
    }
    int positive = 0, negative = 0;
    for (int i = 0; i < 10;i++)
    {
        if(a[i]>0)
        {
            positive++;
        }
        if(a[i]<0)
        {
            negative++;
        }
    }
    cout << "positive:" << positive << endl
         << "negative:" << negative << endl;
    return 0;
}

I 矩阵相等判定

image.png

#include<iostream>
int main()
{
    using namespace std;
    long long int n, m;
    cin >> n >> m;
    int matrix1[n][m];
    int matrix2[n][m];
    int FCheck = 0;
    for (int a = 0; a < n;a++)
    {
        for (int b = 0; b < m; b++)
        {
            cin >> matrix1[a][b];
        }
    }
    for (int a = 0; a < n;a++)
    {
        for (int b = 0; b < m; b++)
        {
            cin >> matrix2[a][b];
        }
    }
    for (int a = 0; a < n;a++)
    {
        //int FCheck = 0;
        for (int b = 0; b < m; b++)
        {
            if (matrix1[a][b] != matrix2[a][b])
            {
                FCheck++;
                cout << "No" << endl;
                return 0;
            } 
        }
    }
    if (FCheck == 0)
    {
        cout << "Yes" << endl;
    }

        return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_31714533/article/details/109263637