牛客编程语言练习赛第三场(C++)
题目描述
KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。
输入描述:
无
输出描述:
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{cout<<" ** "<<endl;cout<<" ** "<<endl;cout<<"************"<<endl;cout<<"************"<<endl;cout<<" * * "<<endl;cout<<" * * ";return 0;
}
题目描述
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩。
输入描述:
学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。
输出描述:
学号,3科成绩,输出格式详见输出样例。
示例1
输入
17140216;80.845,90.55,100.00
输出
The each subject score of No. 17140216 is 80.85, 90.55, 100.00.
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{string id;float C,math,eng;getline(cin,id,';');scanf("%f,%f,%f",&C,&math,&eng);cout<<"The each subject score of No. "<<id;printf(" is %.2f, %.2f, %.2f.",C,math,eng);return 0;
}
题目描述
请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。
输入描述:
无。
输出描述:
(-8+22)×a-10+c÷2计算之后的结果,为一个整数。
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{int a=40, c=212;cout<<(-8+22)*a-10+c/2;return 0;
}
题目描述
根据给出的三角形3条边a, b, c(0 < a, b, c < 100,000),计算三角形的周长和面积。
输入描述:
一行,三角形3条边(能构成三角形),中间用一个空格隔开。
输出描述:
一行,三角形周长和面积(保留两位小数),中间用一个空格隔开,输出具体格式详见输出样例。
示例1
输入
3 3 3
输出
circumference=9.00 area=3.90
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{float a,b,c;cin>>a>>b>>c;float s = (a+b+c)/2;printf("circumference=%.2f area=%.2f",a+b+c,sqrt(s*(s-a)*(s-b)*(s-c)));return 0;
}
题目描述
从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根,当a = 0时,输出“Not quadratic equation”,当a ≠ 0时,根据△ = b2 - 4*a*c的三种情况计算并输出方程的根。
输入描述:
多组输入,一行,包含三个浮点数a, b, c,以一个空格分隔,表示一元二次方程ax2 + bx + c = 0的系数。
输出描述:
针对每组输入,输出一行,输出一元二次方程ax2 + bx +c = 0的根的情况。
如果a = 0,输出“Not quadratic equation”;
如果a ≠ 0,分三种情况:
△ = 0,则两个实根相等,输出形式为:x1=x2=...。
△ > 0,则两个实根不等,输出形式为:x1=...;x2=...,其中x1 <= x2。
△ < 0,则有两个虚根,则输出:x1=实部-虚部i;x2=实部+虚部i,即x1的虚部系数小于等于x2的虚部系数,实部为0时不可省略。实部= -b / (2*a),虚部= sqrt(-△ ) / (2*a)
所有实数部分要求精确到小数点后2位,数字、符号之间没有空格。
示例1
输入
2.0 7.0 1.0
输出
x1=-3.35;x2=-0.15
示例2
输入
0.0 3.0 3.0
输出
Not quadratic equation
示例3
输入
1 2 1
输出
x1=x2=-1.00
示例4
输入
2 2 5
输出
x1=-0.50-1.50i;x2=-0.50+1.50i
示例5
输入
1 0 1
输出
x1=0.00-1.00i;x2=0.00+1.00i
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
#include <iomanip>
using namespace std;
const double eps = 1.0e-6;
int main()
{double a,b,c;
while(cin>>a>>b>>c) {if(fabs(a) <= eps) {cout<<"Not quadratic equation";} else {double delta = b*b - 4*a*c;if(fabs(delta) <= eps) {
// if(fabs(b) <= eps) cout<<fixed<<setprecision(2)<<"x1=x2="<<0.00;
// else cout<<fixed<<setprecision(2)<<"x1=x2="<<-b/(2*a);printf("x1=x2=%.2f",-b/(2*a));}else if(delta > eps) {//cout<<"x1="<<fixed<<setprecision(2)<<(-b-sqrt(delta))/(2*a)<<";x2="<<fixed<<setprecision(2)<<(-b+sqrt(delta))/(2*a);printf("x1=%.2f;x2=%.2f",(-b-sqrt(delta))/(2*a),(-b+sqrt(delta))/(2*a));} else {if(fabs(a) > eps) {if(fabs(b) <= eps){printf("x1=%.2f%.2fi;",0.00,-sqrt(-delta)/(2*a));printf("x2=%.2f+%.2fi",0.00,sqrt(-delta)/(2*a));} else {printf("x1=%.2f%.2fi;",(-b)/(2*a),-sqrt(-delta)/(2*a));printf("x2=%.2f+%.2fi",(-b)/(2*a),sqrt(-delta)/(2*a));}} else {if(fabs(b) <= eps){printf("x1=%.2f%.2fi;",0.00,sqrt(-delta)/(2*a));printf("x2=%.2f+%.2fi",0.00,-sqrt(-delta)/(2*a));} else {printf("x1=%.2f%.2fi;",(-b)/(2*a),sqrt(-delta)/(2*a));printf("x2=%.2f+%.2fi",(-b)/(2*a),-sqrt(-delta)/(2*a));}} }
}cout<<endl;
}return 0;
}
题目描述
从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)。
输入描述:
一行,连续输入5个整数(范围0~100),用空格分隔。
输出描述:
一行,输出5个数的平均数(保留一位小数)。
示例1
输入
75 80 43 67 96
输出
72.2
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
#include <iomanip>
using namespace std;int main()
{int sum = 0, t;for(int i=0;i<5;i++){cin>>t;sum += t;}cout<<fixed<<setprecision(1)<<1.0*sum/5;return 0;
}
题目描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转金字塔图案。
输入描述:
多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。
输出描述:
针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。
示例1
输入
5
输出
* * * * * * * * * * * * * * *
示例2
输入
6
输出
* * * * * * * * * * * * * * * * * * * * *
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{int n;while(cin>>n) {int cnt = n;int space = 0;for(int i=0;i<n;i++){for(int j=0;j<space;j++){cout<<" ";}space++;for(int k=0;k<cnt;k++){cout<<"* ";}cnt--;cout<<endl;}}return 0;
}
题目描述
给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。
输入描述:
第一行包含两个整数m和n,表示图像的行数和列数,用单个空格隔开。1≤m≤100, 1≤n≤100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。
输出描述:
一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。
示例1
输入
3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1
输出
44.44
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{int h,l, count = 0;int a[100][100], b[100][100];cin>>h>>l;for(int i=0;i<h;i++){for(int j=0;j<l;j++){cin>>a[i][j];//cout<<a[i][j]<<endl;}}for(int i=0;i<h;i++){for(int j=0;j<l;j++){cin>>b[i][j];//cout<<b[i][j]<<endl;}}for(int i=0;i<h;i++){for(int j=0;j<l;j++){if(a[i][j] == b[i][j]) {count++;}//cout<<count<<endl;}}printf("%.2f\n",100.0*count/(h*l));return 0;
}
题目描述
输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。
输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。第二行为n个成绩(整数表示,范围0~100),以空格隔开。
输出描述:
一行,输出n个成绩中最高分数和最低分数的差。
示例1
输入
10
98 100 99 97 95 99 98 97 96 100
输出
5
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{int n, max = -1, min = 1000, t; //这里的最低分初始化要注意while(cin>>n) {for(int i=0;i<n;i++){cin>>t;if(t>max) max=t;if(t<min) min=t;}cout<<max-min<<endl;
}return 0;
}
题目描述
KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。
输入描述:
第一行包含一个整数数n。 (1≤n≤30)
输出描述:
包含n行,为杨辉三角的前n行,每个数输出域宽为5。
示例1
输入
6
输出
11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <stdlib.h>
#include <algorithm>
using namespace std;int main()
{int n;int a[1000][100];while(cin>>n) {for(int i=1;i<=n;i++){a[i][1]=a[i][i]=1;}for(int i=3;i<=n;i++){for(int j=2;j<i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=i;j++)printf("%5d",a[i][j]);cout<<endl;}}return 0;
}
这次的题目还是比较基础,细心读题就可以AC。
加油努力吧!
牛客编程语言练习赛第三场(C++)相关推荐
- 24dian(牛客多校第三场)
24dian(牛客多校第三场) 题意: 给你n张牌,每张牌的大小为1 ~ 13,问这些牌与加减乘除任意组合(可以使用括号),且但所有的有效解在计算过程中都涉及到分数,即非整数,能否组成答案m,如果可以 ...
- 牛客多校第三场 B【Classical String Problem】
牛客多校第三场 B[Classical String Problem] 链接:https://ac.nowcoder.com/acm/contest/5668/B 来源:牛客网 题目描述 Given ...
- 牛客多校第三场A【Clam and fish】贪心
A[Clam and fish]贪心 链接:https://ac.nowcoder.com/acm/contest/5668/A 来源:牛客网 题目: There is a fishing game ...
- 2020牛客多校第三场[C Operation Love+基础计算几何 判断多边形顺逆时针]
题目链接 题目大意:就是给你两个左右手的模型,下面给出这两只手通过平移变换之后坐标问你这只手是左手还是右手?[题目保证坐标是按照顺时针或者逆时针给出的] 解题思路:首先我们先观察一下这只右手:假如数据 ...
- exgcd ---- 2020牛客多校第三场:[Fraction Construction Problem:exgcd+思维题]
题目链接 题目大意:就是给你两个数a,ba,ba,b叫你求满足下面三个条件的c,d,e,fc,d,e,fc,d,e,f 1.cd−ef=ab1.{c\over d}-{e\over f}={a\ove ...
- Splay ---- 2018牛客多校第三场 区间翻转搞区间位移 或者 rope可持久化块状链表
题目链接 题目大意: 就是每次把牌堆中若干个连续的牌放到堆顶,问你最后牌的序列. 解题思路: Splay 区间翻转的模板题: 对于一个区间[1,2,3,4,5,6,7,8][1,2,3,4,5,6,7 ...
- Math(牛客多校第三场)
Math 题意: 问你有多少对(x,y),1<=x<=y<=n,满足(x2 + y2)%(xy+1) == 0 题解: 这种题...直接打表芜湖~ 通过打表发现:满足情况的为(i,i ...
- 2019牛客多校第三场 F.Planting Trees
题目链接 题目链接 题解 题面上面很明显的提示了需要严格\(O(n^3)\)的算法. 先考虑一个过不了的做法,枚举右下角的\((x,y)\),然后二分矩形面积,枚举其中一边,则复杂度是\(O(n^3 ...
- 2019 牛客多校第三场 B Crazy Binary String
题目链接:https://ac.nowcoder.com/acm/contest/883/B 题目大意 给定一个长度为 N 的 01 字符串,输出最长子串和子序列的长度,满足其中 0 和 1 的个数相 ...
- 2022年牛客多校第三场补题记录
A Ancestor 题意:给出两棵 nnn 个节点的树 A,BA,BA,B,A,BA,BA,B 树上每个节点均有一个权值,给出 kkk 个关键点的编号 x1,x2,⋯,xkx_1, x_2, \cd ...
最新文章
- ssh开启root用户登录
- (8) 约瑟夫问题总结
- CGAffineTransform的使用大概:
- Android为spinner设置适配器,Android Spinner与适配器模式详解及实例代码
- 如何用libpng输出一个编辑后的png图片?
- 如何在 Mac 上的照片中创建幻灯片?
- 11/27 记事本
- win7系统服务器管理器在哪里找,win7打开服务管理器
- 三宝机器人怎么充电_三宝机器人说明书
- C#使用WebProxy实现代理访问webservice
- Autosar NM
- 5ecsgo启动失败2错误代码2_华纳确定正式启动明日边缘2电影项目
- 利用相对性原理推导Lorentz变换
- VLC 推流的简单设置
- 【GlobalMapper精品教程】024:批量高效实现多种数据格式互转的方法
- [译] 为何前端开发如此不稳定
- windows10 使用visual studio 2019编译OpenBLAS
- Winxp 蓝屏错误:Stop c0000218 unknown hard error 修复记
- 网页版简历制作经验分享
- 几个小妙招挑到满意的瓷砖,让你不花冤枉钱
热门文章
- 支付宝接口调用出现INVALID_PARAMETER错误,订单信息无法识别
- 独角兽微盟的“AB面”
- 常规的几个API接口(也包括比价)
- 计算机应用于设计,计算机工程与设计期刊_计算机工程与设计_计算机工程与应用...
- 关于st-link与stm32f103c8t6连接
- Linux 10GE端口,CR19000关于10GE端口切换GE口
- 保研计网复习笔记:数据链路层
- 电气AutoCAD基础教学(一)——入门技巧
- 共享个人整理的Python问题,有源码,分析过程,解决方案,还有时间戳做间隔
- 情人节程序员用HTML网页表白【满天星星音乐背景动画特效】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript