【记录】牛客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.****.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),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。
输出描述:
针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。
#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 统计数据正负个数
#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 矩阵相等判定
#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; }