更新 'ex3_1.c'
This commit is contained in:
parent
8a91eacb4c
commit
359f72d061
27
ex3_1.c
27
ex3_1.c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user