华中科技大学_2006保研___考研计算机_复试上机

1,排序

题目描写叙述:

? ? 对输入的n个数进行排序并输出。

输入:

? ? 输入的第一行包含一个整数n(1<=n<=100)。

? ? 接下来的一行包含n个整数。

输出:

? ? 可能有多组測试数据,对于每组数据。将排序后的n个整数输出,每一个数后面都有一个空格。
? ? 每组測试数据的结果占一行。

例子输入:
4
1 4 3 2
例子输出:
1 2 3 4 

总结:这个题目太简单了,实在想不到保研会考这样的题目,当然我用的也是最简单的冒泡排序,并且还是没优化的。shame。

#include<iostream>
using namespace std;

int main(){
	int n,i,j;
	int swap;
	int arr[101];

	while(cin>>n){
		for(i=0;i<n;i++){
			cin>>arr[i];
		}

		for(i=0;i<n;i++){
			for(j=0;j<n-1-i;j++){
				if(arr[j] > arr[j+1]){
					swap=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=swap;
				}
			}
		}

		for(i=0;i<n;i++){
			cout<<arr[i]<<" ";
		}
		cout<<endl;
	}

	return 0;
}

总结:感觉没什么,高速排序还是有些难度。可是掌握一前一后两个指针之后。也没什么。

#include<iostream>
using namespace std;

//高速排序的划分
int partion_arr(int arr[],int i,int j){
	int x=arr[i];

	while(i<j){
		while(i<j && x <= arr[j]){
			j--;
		}
		if(i<j){
			arr[i]=arr[j];
			i++;
		}

		while(i<j && x >= arr[i]){
			i++;
		}
		if(i<j){
			arr[j]=arr[i];
			j--;
		}
	}

	arr[i] = x;
	return i;
}

//高速排序
void quick_sort(int arr[],int i,int j){
	if(i<j){
		int a = partion_arr(arr,i,j);
		quick_sort(arr,a+1,j);
		quick_sort(arr,i,a-1);
	}
}

int main(){
	int n,i;
	int arr[101];

	while(cin>>n){
		for(i=0;i<n;i++){
			cin>>arr[i];
		}

		quick_sort(arr,0,n-1);

		for(i=0;i<n;i++){
			cout<<arr[i]<<" ";
		}
		cout<<endl;
	}

	return 0;
}

2,IP地址

题目描写叙述:

? ? 输入一个ip地址串。推断是否合法。

输入:

? ? 输入的第一行包含一个整数n(1<=n<=500),代表以下会出现的IP地址的个数。
? ? 接下来的n行每行有一个IP地址,IP地址的形式为a.b.c.d。当中a、b、c、d都是整数。

输出:

? ? 可能有多组測试数据,对于每组数据,假设IP地址合法则输出"Yes!”,否则输出"No!”。

例子输入:
2
255.255.255.255
512.12.2.3
例子输出:
Yes!
No!
提示:

合法的IP地址为:
a、b、c、d都是0-255的整数。

总结:这个一開始没有做出来。一直在string上思考,c++上做,原来用c的scanf读取。一下就好了,被秒了。

#include<stdio.h>

int main(){
	int n;
	while(~scanf("%d",&n) && (n>=1 && n<=500)){
		int num[4];
		while(n--){
			bool flag = true;
			scanf("%d.%d.%d.%d",&num[0],&num[1],&num[2],&num[3]);

			for(int i=0;i<4;i++){
				if(!(num[i]>=0 && num[i]<=255)){
					flag = false;
					break;
				}
			}

			if(flag){
				printf("Yes!\n");
			}else{
				printf("No!\n");
			}
		}

	}

	return 0;
}

原文地址:https://www.cnblogs.com/xfgnongmin/p/10762777.html

时间: 2024-10-13 11:37:38

华中科技大学_2006保研___考研计算机_复试上机的相关文章

华中科技大学_2010___考研计算机_复试上机

1,奇偶校验 题目描写叙述: 输入一个字符串,然后对每一个字符进行奇校验,最后输出校验后的二进制数(如'3',输出:10110011). 输入: 输入包含一个字符串,字符串长度不超过100. 输出: 可能有多组測试数据,对于每组数据, 对于字符串中的每个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行. 例子输入: 3 3a 例子输出: 10110011 10110011 01100001 总结:感觉还好,可是以下再贴出一份代码,网上找的,感觉很有意思,直接使用异或运算即可. #in

华中科技大学_2008___考研计算机_复试上机

1.八进制 题目描写叙述: 输入一个整数,将其转换成八进制数输出. 输入: 输入包含一个整数N(0<=N<=100000). 输出: 可能有多组測试数据,对于每组数据. 输出N的八进制表示数. 例子输入: 7 8 9 例子输出: 7 10 11 总结:模8就是取低3位.然后右移三位:不是必需翻转.放在数组中,从后向前输出就可以. #include<iostream> using namespace std; int main(){ int n,i,j; int num[10000]

HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)

开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11133    Accepted Submission(s): 5667 Problem Description 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签 到.签离记录,请根据记录找出当天开门和关门的人. Input 测试输入的第一

hdu 4416 水题 浙大计算机研究生复试上机考试-2005年 可是发现自己写代码有问题

Spring3与Hibernate4整合时出现了nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider. hibernate3的时候,用spring来控制sessionfactory用的可以是org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean,因为用的是hibernate4所以照猫画

浙大计算机研究生复试上机考试-2010年 zoj问题

ZOJ问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2984 Accepted Submission(s): 906 Problem Description 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC. 是否AC的规则如下: 1. zoj能AC: 2. 若字符串形式为xzojx,则也能AC,其中x可以是N

浙大计算机研究生复试上机考试-2010年 最短路径问题

最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14405 Accepted Submission(s): 4408 Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Input 输入n,m

浙大计算机研究生复试上机考试-2010年

二叉搜索树 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3007 Accepted Submission(s): 1310 Problem Description 判断两序列是否为同一二叉搜索树序列 Input 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接下去一行是一个序列,序列长度小于10,包

我的保研之路

我的外保之路 本科学校:江南大学 保送学校及专业:西安电子科技大学 集成电路工程 GPA:3.51(满4) 专业排名:9/122(前三年) 英语六级:445 一.保研时间节点 (一)    5-7月:申请夏令营 每年这个时间段,各个高校都会陆续贴出夏令营通知,因此要提前选好学校并时刻关注学校的研招网信息,基本至少每周要浏览两次,查看通知.当然,有些学校有时候是没有夏令营的,比如南京大学今年就没有,而有些学校它不叫夏令营,而是什么比如优研计划.教研室活动开放日等等,其实是一个意思.不管你是考研还是

2015考研 杭电 计算机学院 复试笔试题第一题 JAVA语言解法

杭电 2015年考研 计算机学院 复试笔试第一题 JAVA解法 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; /* 杭电2015年 计算机学院 复试 笔试题第一题 JAVA解答 * author 刘汪洋 QQ 605283073 * 求出:字符串如:"34223abd#34SB-11--" * 中整数的和 其中-在数字前表示负号,否则为字符 */ pub