更新 '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");
|
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user