c++期末考
1.
谁不及格?
Problem:A
Time Limit:1000ms
Memory Limit:65535K
Description
聪聪的班主任王老师最近有点忙,可是他又是一位非常细心的老师,每次考试成绩都有专门的东西来记录,学期结束的时候给每位学生算了加权之后,他都要“关心关心”成绩不好的学生,并在假期给他们补补功课。什么是成绩不好呢?在王老师眼里,成绩不好当然就是加权成绩不及格咯!如今王老师这么忙,正好看你成天写程序闲着没事儿,于是他想让聪明的你来帮他写个程序,把那些不及格的同学的名单打印给他。
Input
输入包含多组数据,每组输入一个数n(1<=n<=10),然后接下来输入n个同学的信息,每个同学的信息分3行,第一行姓名name(姓名长度不超过20个字母),第二行学号x,长度为10(例:2015215098),第三行学生的平均加权成绩。
Output
每组数据第一行输出一个数k,表示不及格学生的个数,然后接下来输出3*k行不及格学生信息,第一个k行输出不及格学生姓名(按输入顺序),第二个k行输出学生学号(按输入顺序),第三个k行输出学生成绩(按输入顺序)(保留2位小数)。若是没有同学不及格,那么输出“They are Great!!”。
Sample Input
zhu dan
79.99
wang meng
83.78
tiancai
59.08
Sample Output
They are Great!!
tiancai
59.08
输出注意一下……
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct stu{
char name[30];
char xh[20];
float ss;
}st[11]; int main()
{
int n,i,j,s[11],m;
while (scanf("%d",&n)!=EOF)
{
m=0;
getchar();
for (i=1;i<=n;i++)
{
gets(st[i].name);
scanf("%s%f",st[i].xh,&st[i].ss);
getchar();
if (st[i].ss<60)
{
s[++m]=i;
}
}
if (m==0)
{
printf("They are Great!!\n");
continue;
}
printf("%d\n",m);
for (i=1;i<=m;i++)
{
printf("%s\n",st[s[i]].name);
}
for (i=1;i<=m;i++)
{
printf("%s\n",st[s[i]].xh);
}
for (i=1;i<=m;i++)
{
printf("%.2f\n",st[s[i]].ss);
}
}
return 0;
}
校庆的活动
Problem:B
Time Limit:1000ms
Memory Limit:65536K
Description
在林大60年校庆时要设计1个平面,平面的设计要会几何知识.给出一些整数对,它们表示一些平面上的坐标点,给定一个点,求所有那些点到该点最短距离的点。结构为:第一个整数对为所给定的点,后面的整数对为所有其他的点。
Input
输入有多组,每组第1行是给定的点的坐标x和y,(0 <= x,y <= 100),第2行是n,接下来有n行(1 <= n <= 50),每行2个数,代表其它点的坐标。
Output
输出这n行坐标中离定点距离最近的点的坐标,输出到屏幕上并换行。
Sample Input
9 2
1 0
1 1
0 0
1 2
2 1
Sample Output
2 1
这个题好多人没用结构体……倒是能写,结构体的专题怎么能不练习结构体呢
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std;
typedef struct lhy{char s[100];char s1[20];float b;} L;
int main()
{
int i,j,k,p,t;
float x,y,d=99999999,x1,y1;
L l[100];
while(cin>>p>>t)
{ cin>>k;
for(i=1;i<=k;i++)
{
cin>>x>>y;
if(d>sqrt((p-x)*(p-x)+(y-t)*(y-t)))
d=sqrt((p-x)*(p-x)+(y-t)*(y-t)),x1=x,y1=y;
}
printf("%.0f %.0f\n",x1,y1);
}
return 0;
}
3
第4题
Problem:C
Time Limit:1000ms
Memory Limit:65535K
Description
复数运算
同学们在C语言中已经利用整数、实数和字符类型等标准数据类型编写一些程序了。那你们还记得在中学阶段学习过一种数据——复数吗?C语言中没有把这种数据设定为标准数据,老师也只在FORTRAN语言中见过。现在请你利用C语言定义复数这种类型的数据,并完成复数的加、减运算,提示复数类型的定义用结构体实现。题目也做了简单处理,只考虑结果都还是复数的情况,不必考虑虚部为零了。
Input
输入数据为多组,每组两行,每行两个实数(double),分别代表复数的实部和虚部。
Output
对于每组数据,输出这两个复数的和、差,实部虚部都分别保留两位小数。
提示:1)如果两个复数分别为a+bi和c+di,那么它们的和是:(a+c)+(b+d)i;它们的差是:(a-c)+(b-d)i;
2)除主函数外,分别编写三个函数,用于求两个复数的和,差、和结果的输出。例如,如果复数类型结构体定义为 CX,则求和函数为 CX cadd(CX x1,CX x2);,求差函数为 CX cminu(CX x1,CX x2);,输出结果函数为 void cprint(CX x);
Sample Input
1.2 2.3
3.2 3.4
3.4 2.2
-7.5 -1.1
Sample Output
4.40+5.70i
-2.00-1.10i
-4.10+1.10i
10.90+3.30i
好像是c语言期末考试的考试题
#include <stdio.h>
#include <stdlib.h> struct comp
{
double real;
double imag;
}; int main()
{
struct comp data[2];
struct comp pluss;
struct comp minuss;
while(scanf("%lf%lf%lf%lf",&data[0].real,&data[0].imag,&data[1].real,&data[1].imag)!=EOF)
{
pluss.real=data[0].real+data[1].real;
pluss.imag=data[0].imag+data[1].imag;
if(pluss.imag<0)
printf("%.2lf%.2lfi\n",pluss.real,pluss.imag);
else
printf("%.2lf+%.2lfi\n",pluss.real,pluss.imag);
minuss.real=data[0].real-data[1].real;
minuss.imag=data[0].imag-data[1].imag;
if(minuss.imag<0)
printf("%.2lf%.2lfi\n",minuss.real,minuss.imag);
else
printf("%.2lf+%.2lfi\n",minuss.real,minuss.imag);
}
return 0;
}
4
优秀学生
Problem:D
Time Limit:1000ms
Memory Limit:65535K
Description
读入学生的信息(最多不超过100个):学号(不超过八位)、姓名(不超过20个字符)、C语言成绩(用整数表示)。统计优秀学生的信息(成绩在90分以上,包括90分)及个数。(要求用结构体实现)
Input
输入数据有多组,每组为n个学生的信息;
Output
输出数据优秀学生的信息及个数。
Sample Input
2015001
ZhangSan
2015002
LiMing
2015003
WangHong
2015004
ZhangXiao
2015005
WangFang
2015001
ZhangSan
2015002
LiMing
2015003
WangHong
Sample Output
2015001 ZhangSan 90
2015004 ZhangXiao 95
2015005 WangFang 100
Hint
按要求做答,否则无分!
comment
题目难度系数 :3分 难度适中;
本题目考核知识点:
1.结构体定义。
2.结构体数据的输入和输出。
3.结构体数组的使用。
这个题是c语言补考的题
#include <stdio.h>
#include <stdlib.h>
#include <string.h> struct student
{
int number;
char name[20];
int score;
} student;
int main()
{ struct student stu[100];
int n,i,sum;
while(scanf("%d",&n)!=-1)
{
sum=0;
getchar();
for(i=0;i<n;i++)
{
scanf("%d%s%d",&stu[i].number,&stu[i].name,&stu[i].score);
if(n>1) getchar();
}
for(i=0;i<n;i++)
if(stu[i].score>=90)
{
sum++;
printf("%d %s %d\n",stu[i].number,stu[i].name,stu[i].score);
}
printf("%d\n",sum); } return 0;
}
两圆的距离
Problem:E
Time Limit:1000ms
Memory Limit:65535K
Description
有很多个圆,圆心的坐标都在X轴上,这些圆都不相交,请问最右边的圆距离y轴有多远?
计算公式为:最右边的圆的圆心到(0,0)点的距离减去这个圆的半径。
Input
输入数据有多组,每组第1行为N代表圆的个数(2<=N<=10),然后有N行数据,每行2个实数x和r,分别代表圆的圆心横坐标和半径(0.0<x,r<50.0,因为圆心的纵坐标都为0,所以不给出纵坐标的值)。
本题用结构体来实现
struct yuan
{
double x;//圆心的X轴坐标
double r;//半径
} data[11];
Output
对于每组数据在一行内输出最右边的圆到Y轴的距离,结果保留2位小数。
Sample Input
0 1
2 0.5
4 1
Sample Output
3.00
这个也是补考题
#include <stdio.h>
#include <stdlib.h>
struct yuan
{
double x;
double r;
}data[11];
int main()
{
int n,i,t;
double max;
while(scanf("%d",&n)!=-1)
{
max=-9999.00;t=0;
for(i=0;i<n;i++)
{
scanf("%lf%lf",&data[i].x,&data[i].r);
if (max<data[i].x) {max=data[i].x;t=i;} }
printf("%.2lf\n",data[t].x-data[t].r); } return 0;
}
p.s.应该养成良好的习惯,结构体的定义在main函数外面,每次使用清空内容……
c++期末考的更多相关文章
- Leave It Behind and Carry On ---- 高一下期末考反思 [补档]
背景 这个学期的前\(\frac{3}{4}\), 我都是在停课集训中度过的, 先是GDKOI, 再是北京集训, 最后是GDOI, 结果GDOI还没进day3就滚粗了. 学校的内容是考完GDOI后回学 ...
- (C语言)学生成绩排序-期末考倒数第二题结构体数组排序
假设学生的基本信息包括学号.姓名.三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型.输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息.如果平均分相同 ...
- 【Mood】八上期末考
Final exam Day -30 平姐在班会上突然就说了一句,离期末考只有一个月了. 刚从体育节的气氛中脱离出来的我想了想,好像还真的是诶. 又努力地去想了想,好像不太慌张呢. Final ex ...
- 闭关修炼屯题中,期末考完A
FJUTOJ 1279 #include <cstdio> #include <iostream> #include <algorithm> #include &l ...
- PHP求职宝典系列——PHP Web 编程篇
PHP Web 编程篇 form表单 1.简述 POST 和 GET 传输的最大容量分别是多少? GET 方法提交的表单数据被附加到 URL 上,并作为URL 的一部分发送到服务器端. URL 的长度 ...
- 精选30道Java笔试题解答
转自:http://www.cnblogs.com/lanxuezaipiao/p/3371224.html 都 是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我 ...
- 记lrd的高二上学期第五次调研考试
河北某某中学的调研考试其实是很好玩的经历呢.可惜没有太多机会了. 背景: NOIP2016回来之后没有好好学文化课-.自习能翘就翘了,衡中特产学案自助没有好好写(说来我好像从来没被老师查到过,上课写学 ...
- 最终版的Web(Python实现)
天啦,要考试了,要期末考试了,今天把最终版的Python搭建Web代码先写这里记下了.详细的过程先不写了. 这次是在前面的基础上重写 HTTPServer 与 BaseHTTPRequestHandl ...
- 再见,OI
你好,NOIP 2015年9月1日 正式成为了福建省莆田一中的一名高一成员 后来学校搞了选修 大家都很激动 因为自己的兴趣和特长能够得到发挥了(或者说能逃课或者看好多电影) 发现选修提供的选项中有好几 ...
随机推荐
- 【Jmeter基础知识】Jmeter的三种参数化方式
JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...
- 【性能测试工具ab】ab工具使用
1.在安装了apache服务器后,或者wampserver后,在bin目录下,有一个ab.exe文件 2.使用,进入ab.exe所在的文件夹 3.ab -c 10 -n 1000 htt ...
- UVA LA 3983 - Robotruck DP,优先队列 难度: 2
题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...
- In-App Purchase iap 内付费 二次验证代码 (java 服务器端)
参考网址:https://blog.csdn.net/a351945755/article/details/22919533 package com.yichangmao.buyVerify.Comm ...
- WPF 之 TreeView节点重命名
下面的TreeView节点是通过数据双向绑定的方式,绑定到TextBlock控件和TextBox控件的Text属性上,并且让两者绑定相同的属性,同时使TextBox控件刚好完全覆盖TextBlock控 ...
- 安装Adobe Acrobat XI Pro
从网上下载Adobe Acrobat XI Pro这款软件,下载后将其解压到我们的电脑上,然后找到setup.exe双击安装它,安装时选择“使用试用版本或订阅” 2 选择“自定义” 自定义安装组件 ...
- Linux关机命令和重启命令
sync 将数据由内存同步到硬盘中. shutdown 关机指令,你可以man shutdown 来看一下帮助文档.例如你可以运行如下命令关机: shutdown mins’ 这个命令告诉大家,计算机 ...
- 4.5 C++重载、覆盖和遮蔽
参考:http://www.weixueyuan.net/view/6375.html 总结: 函数签名包括函数名和函数参数的个数.顺序以及参数数据类型. 需要注意的是函数签名并不包含函数返回值部分, ...
- Centos7部署kubectl命令行工具(五)
1.准备二进制包 [root@linux-node1 ~]# cd /usr/local/src/kubernetes/client/bin [root@linux-node1 bin]# cp ku ...
- UBUNTU安装 Rabbitvsc可视化版本控制客户端软件
sudo add-apt-repository ppa:rabbitvcs/ppa sudo apt-get update sudo apt-get install rabbitvcs-core ra ...