11-1實現strcmp函式
阿新 • • 發佈:2018-12-22
演算法提高 11-1實現strcmp函式
時間限制:1.0s 記憶體限制:256.0MB
問題描述
自己實現一個比較字串大小的函式,也即實現strcmp函式。函式:int myStrcmp(char *s1,char *s2) 按照ASCII順序比較字串s1與s2。若s1與s2相等返回0,s1>s2返回1,s1<s2返回-1。具體來說,兩個字串自左向右逐個字元相比(按ASCII值大小相比較),直到出現不同的字元或遇'\0'為止(注意'\0'值為0,小於任意ASCII字元)。如:
"A"<"B"
"a">"A"
"computer">"compare"
"hello"<"helloworld"
樣例輸出
資料規模和約定
字串長度<100。
#include <iostream> using namespace std; int myStrcmp(const char *s1,const char *s2){ int i=0; while(true){ //字串結束標誌為‘\0’,ASCII=0 if(s1[i]==0 && s2[i]==0){ return 0; }else if(s1[i]==0){ return -1; }else if(s2[i]==0){ return 1; }else if(s1[i]==s2[i]){ i++; continue; }else if(s1[i]>s2[i]){ return 1; }else if(s1[i]<s2[i]){ return -1; } } } int main(int argc, char *argv[]) { char s1[105],s2[105]; cin>>s1>>s2; cout<<myStrcmp(s1,s2)<<endl; return 0; }