华中科技大学_2006保研___考研计算机_复试上机
2014-04-21 14:58
453 查看
1,排序
题目描述:
对输入的n个数进行排序并输出。
输入:
输入的第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。
每组测试数据的结果占一行。
样例输入:
样例输出:
总结:这个题目太简单了,实在想不到保研会考这种题目,当然我用的也是最简单的冒泡排序,而且还是没优化的,shame。
[cpp] view
plaincopy
#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;
}
总结:感觉没什么,快速排序还是有些难度,但是掌握一前一后两个指针之后,也没什么。
[cpp] view
plaincopy
#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!”。
样例输入:
样例输出:
提示:
合法的IP地址为:
a、b、c、d都是0-255的整数。
总结:这个一开始没有做出来,一直在string上思考,c++上做,原来用c的scanf读取,一下就好了,被秒了。
[cpp] view
plaincopy
#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;
}
题目描述:
对输入的n个数进行排序并输出。
输入:
输入的第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。
每组测试数据的结果占一行。
样例输入:
4 1 4 3 2
样例输出:
1 2 3 4
总结:这个题目太简单了,实在想不到保研会考这种题目,当然我用的也是最简单的冒泡排序,而且还是没优化的,shame。
[cpp] view
plaincopy
#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;
}
总结:感觉没什么,快速排序还是有些难度,但是掌握一前一后两个指针之后,也没什么。
[cpp] view
plaincopy
#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读取,一下就好了,被秒了。
[cpp] view
plaincopy
#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;
}
相关文章推荐
- 本文介绍在Wireshark网络协议分析仪中如果解密SSL和TLS流量
- Java生成二维码,转载!感觉不错Mark下(出处:http://www.2cto.com/kf/201108/98471.html)
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- 网络电子采购系统的一些介绍
- 网络电子采购系统的一些介绍
- 海量数据处理常用算法、数据结构总结
- Android开发之判断网络(wifi、3G)是否连接
- cocos2d-x 网络请求
- HDU 方格取数(网络流24题,八)
- 奥巴马允许NSA利用网络0day漏洞
- httpd.exe应用程序错误
- HTTP协议状态码
- Android操作HTTP实现与服务器通信
- 维基百科上的算法和数据结构链接很强大
- 一句话解释数据结构
- 【转载】视频跟踪的研究
- 计算机经典书籍电子书合集(适合计算机学生学习以及程序员笔试、面试)
- 黑马程序员_学习笔记第23天——网络编程
- 黑马程序员_学习笔记第22天——网络编程TCP/UDP
- 漫谈高数,特征向量物理意义