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;
}

最新文章

  1. Python 【第七章】:Html 和 CSS
  2. Brainstorm-the walkthrough example: Image Classification
  3. eclipse远程调试Hadoop
  4. 第五章GPIO接口
  5. centos 6.5 u盘 安装问题 :vesamenu.c32: Not a COM32R image
  6. sublime text3安装相关知识粗略整理
  7. 系统调优之numa架构
  8. 关于ThinkPHP中Session不能夸模块/控制器使用的问题-网上的答案我做个补充
  9. 虚拟机固定IP访问外网配置
  10. rsyslog 直接kill进程,在重新启动会全部发送日志
  11. JS给元素循环添加事件的问题
  12. 幸运大转盘-jQuery+PHP实现的抽奖程序
  13. poj1463 Strategic game (树状dp)
  14. 基于ExtJs6前台,SpringMVC-Spring-Mybatis,resteasy,mysql无限极表设计,实现树状展示数据(treepanel)
  15. MySQL命令无法结束
  16. Version 1.6.0 of the JVM is not suitable for the this product.Version:1.8 or greater is required
  17. 记账本-NABCD分析
  18. Java通过NIO实现快速文件拷贝的代码
  19. oh-my-zsh: bracketed-paste-magic:zle:47: not enough arguments for -U
  20. 五.Bash Shell编程基础入门实战

热门文章

  1. 更换EMC VNX系列存储故障硬盘的检查步骤
  2. day5 函数和参数
  3. owa部署
  4. KafkaProducer Sender 线程详解(含详细的执行流程图)
  5. 从0开发3D引擎(四):搭建测试环境
  6. 对接百度地图API 实现地址转经纬度
  7. Scala 学习(3)之「类——基本概念1」
  8. Openstack之七:实现基于桥接的内外网络
  9. 【LC_Lesson1】--字符串反转练习
  10. 固定表头的table