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