- ① 一维数组
- 一维数组的插入
- 一维数组的删除
- 数组的简单合并
- ② 字符数组
- 字符串的初始化
- 字符数组的查找
- 字符数组的长度
- 倒序输出
- ③ 二维数组
- 对二维数组的列进行求和
- 对二维数组的行进行求和
一维数组的插入
逆序for,把索引位置i后面的元素后移一位;
a[i] = a[i-1];
a[索引i]=2;
#includeusing namespace std; int main() { //插入数字2 int a[10] = {1,3,4,5}; for(int i=4;i>1;i--){ // 为什么从i=4? a[i] = a[i-1]; //代码什么意思 } a[1]=2; //为什么这样写? for(int i=0;i<5;i++){ //循环意思? cout<
一维数组的删除将被删除元素后面的所有元素向前移动一位;
删除:a[i] = a[i+1];
顺序for;#includeusing namespace std; int main() { //删除 2 int a[10] = {1,2,3,4,5}; for(int i=1;i<4;i++){ // i<4 可以=4? a[i] = a[i+1]; //代码什么意思 } cout<<"------------------"< //循环意思? cout<
数组的简单合并把数组a与数组b合并为数组C,循环加进去即可。
#includeusing namespace std; int main(){ int a[3] = {35, 72, 96}; int b[4] = {29, 33, 56, 87}; int c[7];//将数组a[]和数组b[]合并到数组c[] int len=0; for(int i=0;i<3;i++){ c[len]=a[i]; len++; } for(int j=0;j<4;j++){ c[len]=b[j]; len++; } for(int i=0;i cout< 有序的合并:把有序数组a与有序数组b合并为有序数组C;循环+判断进行。
#includeusing namespace std; int main(){ int a[3] = {1, 3, 5}; int b[4] = {3, 4, 5, 6}; int c[10]; int lena = 0, lenb = 0, lenc = 0; // 因为 a, b 数组是有序的,所以最小的元素一定是数组最左边的数字,所以我们只要比较当前 a, b 数组的头,选择小的放入 c 数组即可 while (lena < 3 && lenb < 4){ if (a[lena] < b[lenb]){ c[lenc] = a[lena]; lena++; lenc++; } else { c[lenc] = b[lenb]; lenb++; lenc++; } } // 接下来考虑一件事,必然有一个数组中的元素先被放完,那另外一个数组中剩下的元素我们只要依次放进 c 数组就可以了 cout<<"------"< c[lenc] = a[lena]; lena++; lenc++; } while (lenb < 4){ c[lenc] = b[lenb]; lenb++; lenc++; } // 此时 c 数组中的元素为 {1, 3, 3, 4, 5, 5, 6} for(int i=0;i cout<
② 字符数组
字符串的初始化#includeusing namespace std; int main() { char s[] = {"hello"}; // cin>>s; cout<
字符数组的查找#include#include using namespace std; int main() { char s[] = {"ohi"}; char a[1000]; int ans = 0; cout<<"请输入字符串:"; cin >> a; // hihellohi int len=strlen(a); for(int i=0;i //选取开始对比位置 bool flag = true; for(int j=0;j<2;j++){ //从第a[i]个开始对比 if(a[i+j]!=s[j]){ //发现没有匹配上 flag = false; //标记没配对上 break; //结束循环 } } if(flag == true){ ans++; } } cout <<"匹配相等有:"<< ans << endl; return 0; }
字符数组的长度#includeusing namespace std; int main() { char s[1000]; int len = 0;//int整数 cin >> s;//s="hello",以' '结尾 for(int i=0; s[i] != ' '; i++){//s[0]='h',s[1]='e' len++; } cout << len << endl;//len=5 return 0; }
倒序输出#include#include using namespace std; int main() { string s; //声明字符串 cin >> s; for(int i=s.size();i>0;i--){ //变量.size()获取长度 cout<
③ 二维数组#include对二维数组的列进行求和using namespace std; int main() { int a[2][3] = {{33,66,99},{2,4,6}}; cout< //输入i行 for (int j = 0; j < 5; j++) { //输入j列 cout<<"请输入第"<>m[i][j]; } } //输出m[3][5] 3行5列 for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++){ cout << m[i][j] << " "; } cout << endl; } return 0; } #includeusing namespace std; int main() { int matrix[3][5]; int sum[5]={0, 0, 0, 0, 0}; for (int i = 0; i < 3; i++) { //输入i行 for (int j = 0; j < 5; j++) { //输入j列 cin>>matrix[i][j]; sum[j]+=matrix[i][j]; } } for (int j = 0; j < 5; j++) { cout<
对二维数组的行进行求和#includeusing namespace std; int main() { for (int i = 0; i < 3; i++) { int sum = 0; for (int j = 0; j < 5; j++) { int temp; cin >> temp; sum += temp; } cout << sum << endl; } return 0; }



