#include <iostream>using namespace std;int main() {int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}};int brr[2][3] = {0};for(int i = 0; i < 3; i++) {for(int j = 0; j < 2; j++) {brr[j][i] = arr[i][j];}}for(int i = 0; i < 2; i++) {for(int j = 0; j < 3; j++) {cout << brr[i][j] << " ";}cout << endl;}return 0;}
回文数英语单词:isPlalindrome
回文数判定程序
#include <iostream>#include <string>using namespace std;int main(){int len;string huiwenshu;cin >> huiwenshu;len = huiwenshu.size();bool realy = true;for(int i = 0;i < len / 2;i++){if(huiwenshu[i] != huiwenshu[len - i - 1]){realy = false;break;}}if(realy){cout << "Yes";}else cout << "No";return 0;}
函数思维
#include <iostream>#include <string>using namespace std;bool isPlalindrome(string s){int len = s.size();for(int i = 0;i < len;i++){if(s[i] != s[len - 1 - i]){return false;}}return true;}int main(){string s;cin >> s;if(isPlalindrome){cout << "Yes";}else cout << "No";return 0;}
求字符串第一个仅出现一次的字母
#include <iostream>#include <string>using namespace std;int main(){int t[256];string s;int i;cin >> s;for(i = 0;i < 256;i++){t[i] = 0;}for(i = 0;i < s.length();i++){t[s[i]]++;}for(i = 0;i < s.length();i++){if(t[s[i]] == 1){cout << s[i] << endl;return 0;}}cout << "no" << endl;return 0;}
排序算法
归并排序
给定两个有序数列,合并成一个升序数列
#include <iostream>using namespace std;int main(){const int SIZE = 100;int na,nb,a[SIZE],b[SIZE],i,j,k;cin >> na;for(i = 1;i <= na;i++){cin >> a[i];}cin >> nb;for(i = 1;i <= nb;i++){cin >> b[i];}i = 1;j = 1;while((i <= na) && (j <= nb)){if(a[i] <= b[j]){cout << a[i] << " ";}else{cout << b[j] << " ";j++;}}if(i <= na){for(k = i;k <= na;k++){cout << a[k] << " ";}}if(j <= nb){for(k = j;k <= nb;k++){cout << b[k] << " ";}}return 0;}
二分查找法
#include <iostream>using namespace std;const int SIZE = 105;int arr[SIZE] = {0,11,22,33,44,55,66,77,88,99};int binary_search(int x){int l = 0,r = 9 + 1;while(l + 1 != r){int mid = l + (r - l) / 2;if(arr[mid] = x){return mid;}else if(x > arr[mid]){l = mid;}else r = mid;}return -1;}int main(){cout << binary_search(66);}
给定两个数组,从A数组中找出B数组中内容,并按升序排序
#include <iostream>using namespace std;const int SIZE = 10005;int arr[SIZE],brr[SIZE];int binary_search(int x){int l = 0,r = 9 + 1;while(l + 1 != r){int mid = l + (r - l) / 2;if(arr[mid] = x){return mid;}else if(x > arr[mid]){l = mid;}else r = mid;}return 0;}int main(){int n,m;cin >> n >>m;for(int i = 1;i <= n;i++){cin >> arr[i];}for(int i = 1;i <= n;i++){cin >>brr[i];}sort(arr + 1,arr + n + 1);sort(brr + 1,brr + 1 + n);for(int i = 1;i <= m;i++){if(binary_search(brr[i])){cout << brr[i] << " ";}}return 0;}
