博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电复试笔试2016-2017
阅读量:3898 次
发布时间:2019-05-23

本文共 4409 字,大约阅读时间需要 14 分钟。

1.判断一个数N是否是素数,是的话输出“YES”,否则输出“NO”。(判断2-sqrt(N)是否存在N的因子即可)

#include
#include
#include
#include
#include
#include
using namespace std;//1.判断一个数N是否是素数,是的话输出“YES”,否则输出“NO”。(判断2-sqrt(N)是否存在N的因子即可)int main(){ int i,num; int flag=0; scanf("%d",&num); for(i=2;i
#include
#include
#include
#include
#include
#include
using namespace std;//题目2:在一个二维平面内有n个点,每个点坐标为(x,y),求最近的两点的距离。(暴力求解即可)//输入://5//1 2//100 200//1000 2000//1000 1//1 3//输出://1//写一个方法求两点距离int way(int x1,int y1,int x2,int y2){ int num; num=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); return num;}//创建一个结构体来存对应的值struct N{ int x,y;}Num[100];int main(){ int i,j,n; int mmin=100000; scanf("%d",&n); for(i=0;i

题目3:有一个文件记录了学生期末考试的几门成绩和学号,求出这几门课程的平均分和总分,并按照总分排序,从高到底,如果成绩相同,按照学号从小到大的顺序。(

//这题最大的难点还是在于文件的读取上面:

可以参考之前

#include
#include
#include
#include
#include
#include
using namespace std;//题目3:有一个文件记录了学生期末考试的几门成绩和学号,//求出这几门课程的平均分和总分,并按照总分排序,从高到底,如果成绩相同,按照学号从小到大的顺序。(文件要用c语言的读写操作(读写操作戳这里),结构体排序可做)//为了解决这一道题目,我们首先要解决数据问题,因为这道题的数据是有关文件的读写的,我们可以自己创建一个文件,类似于下图:struct M{ char name[10]; char id[10]; int english; int math; int yuwen; int kexue; int sum;}stu[100];//再写一个比较方法,用以排序bool cmp(M a,M b){ a.sum=a.english+a.kexue+a.math+a.yuwen; b.sum=b.english+b.kexue+b.math+b.yuwen; if(a.sum!=b.sum) return a.sum>b.sum; else return a.id

题目1:关羽过关斩三将,输入四个人的武力值(大于0小于50),若超过界限需要重新输入,关羽的武力值x,将士武力值为y,满足(x-y)^2+(x-y)+41

若为素数则关羽获胜,若关羽三次获胜输出WIN,若失败则输出失败的将领序号(第几关)。

#include
#include
#include
#include
#include
#include
using namespace std;// 题目1:关羽过关斩三将,输入四个人的武力值(大于0小于50),若超过界限需要重新输入,关羽的武力值x,将士武力值为y,满足(x-y)^2+(x-y)+41//若为素数则关羽获胜,若关羽三次获胜输出WIN,若失败则输出失败的将领序号(第几关)。//写一个方法判断是否为素数bool sushu(int x){ if(x==1) return false; for(int i=2;i<=sqrt(x);i++) if(x%i==0) return false; return true;}int main(){ //可以用一个flag来记录第几关,赢了就加一,输了直接break int a[4],temp; int flag=1; for(int i=0;i<4;i++) { scanf("%d",&temp); if(0
<50) a[i]=temp; else { printf("武力值应该在0到50之间,请重新输入\n");//这个很巧妙 i--; } } int i=1; while(i<=3){ if(sushu((a[0]-a[i])*(a[0]-a[1])+(a[0]-a[i])+41)){ //如果这个是素数的话 flag++; } else{ break; } i++; } if(flag>3) printf("WIN"); else printf("%d",flag);}

题目2:

输入N个员工,每个员工输出ID号,上班时间,下班时间,
第一行输出 最早去的员工的ID和上班时间
第二行输出 最迟走的员工的ID和下班时间
第三行输出 工作最久的员工的ID和上班时间<按照数据来讲,按理来说应该是上班时间最久的>
(数据瞎编的)
sampleinput:
ID100001, 07:00:00 17:00:00
ID100002, 08:00:00 18:00:00
ID100003, 09:00:00 21:00:00
sampleout:
OPEN:ID100001, 07:00:00
CLOSE:ID100003, 21:00:00
STAR:ID100003, 12:00:00

#include
#include
#include
#include
#include
#include
using namespace std;// 题目2://输入N个员工,每个员工输出ID号,上班时间,下班时间,//第一行输出 最早去的员工的ID和上班时间//第二行输出 最迟走的员工的ID和下班时间//第三行输出 工作最久的员工的ID和上班时间
<按照数据来讲,按理来说应该是上班时间最久的>
//(数据瞎编的)//sampleinput://ID100001, 07:00:00 17:00:00//ID100002, 08:00:00 18:00:00//ID100003, 09:00:00 21:00:00//sampleout://OPEN:ID100001, 07:00:00//CLOSE:ID100003, 21:00:00//STAR:ID100003, 12:00:00//这题是需要结构体和排序来计算的struct P{ char id[10]; int s1,s2,s3; int x1,x2,x3;//分别是id,上班时间,下班时间}per[100];bool cmp1(P a,P b){ //比谁更早,也就是上班时间最早的那个,全都换算成秒 int suma=a.s1*3600+a.s2*60+a.s3; int sumb=b.s1*3600+b.s2*60+b.s3; return suma
sumb;}bool cmp3(P a,P b){ int suma=a.x1*3600+a.x2*60+a.x3-(a.s1*3600+a.s2*60+a.s3); int sumb=b.x1*3600+b.x2*60+b.x3-(b.s1*3600+b.s2*60+b.s3); return suma>sumb;}int main(){ int i,n; scanf("%d",&n); for(i=0;i
#include
#include
#include
#include
#include
#include
using namespace std;// 有一个MN的材料和一个st的模板,从材料中切除模板,求最大能切出来的模板的数量。//sample input//://3 4//a b c d//c d a b//a c c d//2 2//a b//c d//sample out//2//sample output//://这道题就是用DFS来对取这块模板和不取这块模板进行全都的讨论char Map1[100][100];//用来存材料char Map2[100][100];//用来存模板char temp[100][100]={ '0'};//用来中间使用int n,m,s,t,i,j;int ans=0;//这个是存最大值//写一个方法来判断是否能找到对应模板bool judge(char Map[100][100],int x,int y){ //x,y是材料的位置,而对模板来说就是对应位置 int flag=0; for(i=0;i
ans) ans=mmax; //再开始判断假设是从0,0开始的,而且以列为出发点,所以是第一列,然后x从0到m-1,所以当y大于等于N时,说明程序走到尽头 if(y>=n) return ; if(x>=m)//该列走完了 DFS(Map,0,y+1,mmax); else{ //该列没走完,那先判断这位置可否切割 if(judge(Map,x,y)){ //如果可以的话,那就需要有两种方法了:1.一种是不管,向前推进,一种是选择这块,然后把Map变成一个新的 for(i=0;i

转载地址:http://kufen.baihongyu.com/

你可能感兴趣的文章
讲讲BW/4 HANA和BW on HANA的区别
查看>>
SAP HANA CREATE SCHEMA
查看>>
SAP HANA CREATE TABLE
查看>>
SAP HANA CREATE USER
查看>>
SAP HANA index type
查看>>
SAP HANA SQL GROUP BY / ORDER BY / OVER / CASE
查看>>
gethostbyname和gethostbyaddr的用法
查看>>
IPv6和IPv4之间的通信机制和方法
查看>>
用syslog记录UNIX日志
查看>>
syslog(),openlog(),closelog()
查看>>
Ubuntu安装后的一些配置
查看>>
ubuntu9.10 tftp服务设置(这个绝对好使)
查看>>
关于UNIXDOMAIN协议的接收发送者验证
查看>>
I/O操作上设置超时之alarm闹钟法
查看>>
查看返回接收到UDP数据包的宿地址结构--(适用于LINUX和BSD系统)
查看>>
如何开启_GNU_SOURCE宏
查看>>
从网上搜索到的一些关于pcap源代码,入门级的
查看>>
Linux—— Posix IPC
查看>>
在ubuntu下安装ACE编译环境
查看>>
公司HR面试经常问的问题及回答思路
查看>>