回文数字的判断题

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())!='\n'&&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("是回文!\n");
69 else
70   printf("不是回文!\n");
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 } 

 

posted @ 2013-11-13 14:03  鱼时代  阅读(284)  评论(0编辑  收藏  举报