更新 'ex3_1.c'

This commit is contained in:
xtaodada 2022-03-31 21:31:52 -04:00
parent 8a91eacb4c
commit 359f72d061

27
ex3_1.c
View File

@ -152,23 +152,25 @@ void Base(SqStackChar *L, int n, int e){
}
printf("\n\n");
}
void Palindrome(SqStackChar *L, int e){
int i=1,n=e;
char temp,temp1;
void Palindrome(SqStackChar *L, char e[]){
int i=1,len=strlen(e),k;
char temp;
// 转换
while(n){
PushChar(L, NumToChar(n%10)); // 进栈
n/=10;
for(int j=0; j<len/2; j++){
PushChar(L, e[j]); // 进栈
}
// 比较
while(e){
if( len % 2 ) {
k = (len + 1) / 2;
} else {
k = len / 2;
}
for(int j=k; j<len; j++){
i=PopChar(L, &temp);
if(i==0){
break;
} else {
temp1=NumToChar(e%10);
e/=10;
if(temp!=temp1){
if(temp!=e[j]){
i=0;
break;
}
@ -186,6 +188,7 @@ int main(){
SqStackChar L2;
int n,choice;
DataType e;
char char_e[MAX];
InitStack(&L1); // 初始化
for(;;){
@ -282,8 +285,8 @@ int main(){
case 9:
L2.top = -1; // 初始化
printf("请输入需要判断的回文数:");
scanf("%d",&e);
Palindrome(&L2,e);
scanf("%s",char_e);
Palindrome(&L2,char_e);
break;
default:
break;