Description |
建立字符串的定长存储结构,输入两个字符串,输出比较结果。 Input 输入两个字符串。 Output相等输出0,不相等时输出对应位置的字符的ASCII码差值。 说明:输出无换行 |
Sample Input |
ABCDE ABCC |
Sample Output |
1 |
#include<stdio.h>
#include<bits/stdc++.h>
#include<iostream>
#define Max_str 255
using namespace std;
typedef struct{//存储结构
char *ch;
int length;
}Hstring;
void initString(Hstring &S){//初始化
S.ch=new char[Max_str];
S.length=Max_str;
for(int i=0;i<S.length;i++){
S.ch[i]='\0';
}
}
void Strass(Hstring &S,char *chars){//生成字符串
int i=0;
char *c;
for(i=0,c=chars;*c;i++,c++);
for(int j=0;j<i;j++){
S.ch[j]=chars[j];
}
S.length=i;
}
void Strprint(Hstring S){//输出字符串S
for(int i=0;i<S.length;i++){
cout<<S.ch[i];
}
}
int Strcmp(Hstring S,Hstring T){//比较字符串S、T,并返回对应位置的字符的ASCII码差值
for(int i=0;i<S.length&&i<T.length;i++){//有返回值
if(S.ch[i]!=T.ch[i]){
return S.ch[i]-T.ch[i];
}
}
return 0;
}
int main(){
Hstring S,T;
initString(S);
initString(T);
char chars[Max_str];
char chars1[Max_str];
cin>>chars;
cin>>chars1;
Strass(S,chars);
Strass(T,chars1);
cout<<Strcmp(S,T);
return 0;
}