華為機試練習
阿新 • • 發佈:2018-07-04
ace tor 排序 技術分享 length a-z string it! 計算
1. 計算字符個數
輸入 ABCDEF A 輸出 1
#include <iostream> #include <cstring> using namespace std; int main(){ string str,res; getline(cin,str); //只能使用getline函數來讀入直到換行符 char ch; cin>>ch; int size=str.length(),sum=0,flag=0; if(ch>=‘A‘&&ch<=‘Z‘) flag=1; //註意ascall碼,A-Z 65-90; a-z 97-122;相差32 if(ch>=‘a‘&&ch<=‘z‘) flag=2; for(int i=0;i<size;i++) if(flag==1){ if(str[i]==ch||(str[i]-ch)==32) sum++; } else if(flag==2){ if(str[i]==ch||(ch-str[i])==32) sum++; } else if(str[i]==ch) sum++; cout<<sum<<endl; return 0; }
明明的隨機數(註意的是測試有多組數,需要加while) //可以用set,或者是其他的排序,桶排序
#include <iostream> #include <algorithm> using namespace std; int main(){ int n; while(cin>>n){ if(n<0||n>1000) return 0; int inputArray[n]; for(int i=0;i<n;i++){ cin>>inputArray[i]; if(inputArray[i]<1||inputArray[i]>1000) return 0; } sort(inputArray,inputArray+n); for(int i=0;i<n-1;i++){ if(inputArray[i]!=inputArray[i+1]) cout<<inputArray[i]<<endl; } cout<<inputArray[n-1]<<endl; } return 0; }
#include <iostream> #include <set> using namespace std; int main(){ int n=0; while (cin>>n) { int a[1000],i=0; for (int i=0;i<n;i++) cin>>a[i]; set<int> num(a,a+n); //使用set容器直接初始化 for (set<int>::iterator it =num.begin();it!=num.end();it++){ cout<<*it<<endl; } } return 0; }
華為機試練習