1221 sdffds 这就是回文数字
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define INT 100 4 #define INTE 10 5 #define OK 1
6 #define ERROR 0 7 typedef struct 8 { 9 char *top; 10 char *base; 11 int size; 12 }sqlist; 13 int Inite(sqlist &s) 14 { 15 s.base=(char *)malloc(INT*sizeof(char)); 16 if(!s.base) 17 exit(ERROR); 18 s.top=s.base; 19 s.size=INT; 20 return OK; 21 } 22 23 int push(sqlist &s,char c) 24 { 25 if(s.top-s.base>=s.size) 26 { 27 s.base=(char *)realloc(s.base,(s.size+INTE)*sizeof(char)); 28 if(!s.base) 29 exit(ERROR); 30 s.top=s.base+s.size; 31 s.size+=INTE; 32 } 33 *s.top++=c; 34 return OK; 35 } 36 37 int empty(sqlist s) 38 { 39 if(s.top==s.base) 40 return OK; 41 else 42 return ERROR; 43 } 44 int Hinite(sqlist &s) 45 { 46 int a,flag=1,i; 47 char c; 48 printf("请输入字符的个数:"); 49 scanf("%d",&a); 50 getchar(); 51 for(i=1;(c=getchar())!=' '&&flag&&i<=a+1;i++) 52 { 53 54 if(i<=a/2){ 55 push(s,c); 56 } 57 else{ 58 if(a%2&&i==a/2+1) 59 continue; 60 if(s.top!=s.base&&*--s.top!=c) 61 { 62 flag=0; 63 } 64 } 65 66 } 67 if(s.top==s.base&&flag) 68 printf("是回文! "); 69 else 70 printf("不是回文! "); 71 return OK; 72 } 73 74 int Inte() 75 { 76 sqlist s; 77 Inite(s); 78 Hinite(s); 79 return OK; 80 } 81 int main() 82 { 83 Inte(); 84 return OK; 85 }