?? main.c
字號:
#include "head.h"
void main(int argc,int *argv[])
{
char str[30];
char palindrome[30];
JD *phead = NULL;
JD ptemp;
JD *pointer = NULL;
JD *pnew = NULL;
JD *ptop = NULL;
int i,j;
int flag = 1;
int num;
int enable = 1;//回文字符標識
phead = (JD*)malloc(sizeof(JD));
phead->value = '\0';
phead->next = NULL;
do
{
menu();
printf("請輸入num:");
scanf("%d",&num);
printf("\n");
// printf("/**************請輸入你需要選擇的功能****************/\n");
// printf("\n");
// printf("1:將數組壓入堆棧\n");
// printf("2:將堆棧數據輸出\n");
// printf("3:判斷是否為回文字符串\n");
// printf("0:退出\n");
// printf("/******************歡迎下次繼續使用******************/\n");
switch(num)
{
case 0:
{
flag = 0;
break;
}
case 1:
{
for(i = 0;palindrome[i] != '\0';i++)
{
pnew = (JD*)malloc(sizeof(JD));
pnew->value = palindrome[i];
ptop = push(phead,pnew,ptop);
}
break;
}
case 2:
{
printf("打印堆棧里面的數據:\n");
if(ptop !=NULL)
{
for(i = 1,pointer = ptop;pointer != NULL;pointer = pointer->next,i++)
{
printf("堆棧第%d層值:%c\n",i,pointer->value);
}
}
else
{
printf("棧空\n");
}
break;
}
case 3:
{
for(i = 0;palindrome[i] != '\0';i++)
{
if(ptop != NULL)
{
ptemp.next = NULL;
ptemp.value = ' ';
ptop = pop(phead,&ptemp,ptop);
if(ptemp.value != palindrome[i])
{
enable = 0;
}
}
}
if(enable == 0)
{
printf("不是回文字符\n");
}
else
{
printf("是回文字符\n");
}
break;
}
case 4:
{
printf("請輸入待測字符串:");
fflush(stdin);
gets(str);
enable = 1;
//將字符串空格去除
for(i = 0,j = 0;str[i] != '\0';i++)
{
if(str[i] != ' ')
{
palindrome[j++] = str[i];
}
}
palindrome[j] = '\0';
break;
}
default:
{
printf("號碼出錯!!!請重新輸入:\n");
}
}
}while(flag == 1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -