《考研机试》(一)C/C++基础
1.setfill/setw使用
2.定义结构体
3.关于字符串读取
4.排序问题:复试不要求一般用:冒泡排序
5.数字和字符之间转换
6.进制转化:10进制转8进制
7.质数判断
8.字符串拷贝函数strcpy
9.字符串拼接函数strcat
10.字符串比较函数strcmp
11.计算字符串长度函数strlen
12.补充内容:
万能头文件:#include <bits/stdc++.h>
基本冒泡排序:
for(int i=0; i<n-1; i++){
for(int j=0; j<n-1-i; j++){
if(a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
基本二分查找:
int left = 0;
int right = len - 1;
int mid;
while( left<=right){
mid = left + (right - left)/2;//防止溢出
if(find_data == a[mid]){
return mid;
}else if(find_data > a[mid]){
left = mid + 1;
}else{
right = mid - 1;
}
}
return -1;//没有找到
基本选择排序:
从待排序的数据中选出最小的元素放在起始位置,然后再从剩余的未排序元素中寻找到最小的元素,放到已排序的序列的末尾
1.我们的目标是找到最小的数min,放到第一位
2.我们的目标是,找出除了min以外的最小值,让它排在第2位
3.重复2直到结束
for(int i=0; i<a.length-1; i++){//需要几轮,例如a=[1,2,3,4,5]需要4轮,最后一个肯定是最大值
//每轮遍历开始前,默认第一个数为最小值
int min = a[i];
int minIndex = i;
for(int j=i+1; j<a.length; j++){
if(min>a[j]){
min = a[j];
minIndex = j;//记录下标
}
}
//如果最小值改变了,那么交换
if(min!=a[i]){
a[minIndex] = a[i];
a[i] = min;
}
}
基本插入排序:
void insertSort(int a[], int n){
for(int i=1; i<n; i++){//默认第一个元素a[0],只有一个数,有序
int temp = a[i];//存储当前要插入元素
int j = i - 1;
while( j>=0 && temp<a[j] ){//从后往前找合适位置
a[j+1] = a[j];//没找到,元素后移
j--;
}
//此时找到了合适位置
//每次没找到都j--所以最后插在j+1位置
a[j+1] = temp;
}
//打印
for(int i=0; i<n; i++){
cout << a[i] << " ";
}
}
正文:
#include <iostream>
#include <iomanip>
#include <math.h>
#include <string.h>
using namespace std; int main(void){
// 1.setfill/setw使用
// float f1 = 2.99;
// float f2 = 8.9099;
// int i = 10;
// cout << setfill('*');
// //setw是设置域宽,就是输出数据所占几列
// //如果在默认的情况下,输出的数据不能达到所规定的域宽就用空格填充
// //setfill是设置填充物
// //使用操纵符时,需要包含头文件iomanip
// cout << setw(10) << f1 << endl;
// cout << setw(10) << f2 << endl;
// cout << setw(10) << i << endl; // 2.定义结构体
// struct Student{
// int id;
// char name[20];
// };
// 可以使用typedef添加别名
// typedef struct Student{
// int id;
// char name[20];
// }Student;
//
// 使用:Student s; // 3.关于字符串读取
// string str = "hello gy";
// int i = 0;
// while(str[i] != '\0'){
// cout << str[i] << endl;
// i++;
// } // 4.排序问题
// 复试不要求一般用:冒泡排序
// int len = 6;
// int num[] = {5,2,77,1,99,66};
// for(int i=0; i<len-1; i++){
// for(int j=0; j<len-1-i; j++){
// if( num[j]>num[j+1] ){
// int temp = num[j];
// num[j] = num[j+1];
// num[j+1] = temp;
// }
// }
// }
// for(int i=0; i<len; i++){
// cout << num[i] << " ";
// } // 5.数字和字符之间转换
// 例如:将字符'7'转为数字7
// char a = '7';
// int a_num = a - '0';
// 例如:将数字 5 转换成字符'5'
// int b_num = 5;
// char b = b_num + '0'; // 6.进制转化:10进制转8进制
// int num = 666;
// int result[100];
// int len = 0;
// while(num/8 != 0){
// result[len] = num%8;
// len++;
// num /= 8;
// }
// result[len] = num;
// for(int i=len; i>=0; i--){
// cout << result[i] <<endl;
// } // 7.质数判断
// int num = 10;
// int temp = sqrt(num);
// bool isZhiShu = true;//默认是质数
// for(int i=2; i<=temp; i++){
// if( num%i==0 ){
// isZhiShu = false;//不是质数
// break;
// }
// }
// if(isZhiShu){
// cout << "是质数" << endl;
// }else{
// cout << "不是质数" << endl;
// } // 8.字符串拷贝函数strcpy
// char *strcpy(char *dest, const char *src);
// 将参数 src 字符串拷贝至参数 dest 所指的地址
// char string[10];
// char *str1 = "abcdefgh";
// //将str1的内容拷贝给string数组
// strcpy(string, str1);
// printf("%s\n", string); // 9.字符串拼接函数strcat
// char *strcat(char *dest, const char *src);
// 作用:返回dest字符串起始地址,并且dest = dest+src
// char str[20];
// char* str1 = "gyy";
// char* str2 = "wgg";
// strcat(str, str1);
// strcat(str, str2);
// printf("%s\n", str); // 10.字符串比较函数strcmp
// int strcmp(const char *s1, const char *s2);
// 若s1==s2返回0;s1>s2返回大于0;s1<s2返回小于0
// char *a = "aBcDeF";
// char *b = "AbCdEf";
// char *c = "aacdef";
// char *d = "aBcDeF";
// printf("%d\n",strcmp(a,b));
// printf("%d",strcmp(a,d)); // 11.计算字符串长度函数strlen
// 计算指定的字符串长度,不包括结束字符'\0' a
// size_t strlen(const char *s);
// 返回字符串s的字符数
// 但是sizeof返回的是变量声明后所占的内存数,不是实际长度
// char str[5] = "abcd";
// cout << strlen(str) << endl;//4
// cout << sizeof(str) << endl;//5 return 0;
}
《考研机试》(一)C/C++基础的更多相关文章
- 2015年天勤考研机试模拟赛 A 推断三角形
[思路]:採用atoi转换长度.两边仅仅和大于第三边,两边之差小于第三边. [AC代码]: #include <iostream> #include <algorithm> # ...
- 考研机试练习(KY2-KY10)
KY2 成绩排序 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 本题知识点: 排序 sort struct 题目描述 查找和排序 题目:输入任意(用户,成绩) ...
- 2015 NI 校招笔试机试面试
美国国家仪器NI也算是入驻上海很好的一家外企了,它是我们院的合作公司,加上今年NI在我们院扩招实习生,这次是一个难得的机会可以进入NI实习,可惜我并没有好好把握... 一.笔试 几个做错的印象特别深刻 ...
- web机试
测试: <html><style> </style><title>Demo</title> <body><div > ...
- 【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)
原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年 ...
- java机试要点
Java机试准备 一般结构: import java.util.Scanner; public class Main{ public static void main(String[] args) ...
- 华为 2015 机试 输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin。
package 华为机试; //C++ 输入:由数字和字母组成的字符串,例如:333aaabb55ppin //输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的 ...
- 华为OJ机试训练(一)
题目1 -- 通过输入英文句子.将每一个单词反过来,标点符号顺序不变.非26个字母且非标点符号的情况就可以标识单词结束. 标点符号包含,.!? 比如输入:Hello, I need an apple. ...
- 2014华为机试西安地区B组试题
2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.開始,电灯所有关着. 有n ...
随机推荐
- win设置C、D、E等盘符图标为自定义的图片
1.选择一张jpg图片,在下面网站工具上,转为ico的图片(最好转64x64的清晰些). http://www.faviconico.org/favicon 2.在D盘下新建文本文件.txt,写入以下 ...
- JS中的splice方法
JS中的splice方法 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组(集合). 语法 arrayObject.splice(ind ...
- git命令的基本使用流程
git命令的基本使用流程 前提:已经基本熟悉git的常用命令 1.提交项目 首先,在对项目进行完善后,如果想要将项目更新到github或是阿里code上去,先要使用 git add -A 这一命令的作 ...
- Ado.net总结-Command(指挥官)
Command 概述 在 System.Data.SqlClient 命名空间下,对应的 Command 类为 SqlCommand,在创建 SqlCommand 实例前必须已经创建了与数据库的连接. ...
- 致Java初学者
致Java初学者 精心整理资料点击获取 前言 能看到这篇文章的朋友,应该都或多或少的了解Java,也许你现在是个菜鸟还在成长的路上.再此期间你一定遇到了很多困惑疑虑,对未来的学习方向感到很迷惑.作 ...
- GeneXus 16 如何实现自动化测试和发布
CI/CD(持续集成/持续发布)是一种软件开发策略,以使公司能够尽可能快速.高效地给客户发布新功能.为了能够实现CI/CD,就需要通过PipeLine对整个软件过程进行一系列的节点管理,必须将每个阶段 ...
- Java StringBuilder类
StringBuilder的原理 String类 字符串是常量,它们的值在创建之后不能更改 字符串的底层是一个被final修饰的数组,不能改变 private final byte[] value; ...
- 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第五节:数据流处理的那些事儿
为什么说到数据流了呢,因为上一节中介绍了一下异步发送请求.同样,在数据流的处理上,C#也为我们提供几个有用的异步处理方法.而且,爬虫这生物,处理数据流是基础本能,比较重要.本着这个原则,就聊一聊吧. ...
- git 查看修改账号密码
git config user.name 查看用户名 git config user.email 查看用户邮箱 修改用户名和邮箱的命令 git config --glo ...
- Oracle GoldenGate for DB2
--Enable logdb2 update db cfg using LOGARCHMETH1 DISK:/home/db2inst1/arclogs--Rebootdb2 terminatedb2 ...