`
xuerenlv
  • 浏览: 6120 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

华中科技大学_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;
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics