1樓:
標頭檔案:(另存為seqstack.h)
typedef struct
seqstack;
void stackinitiate(seqstack *s) /*初始化順序堆疊s*/
int stacknotempty(seqstack s)
/*判順序堆疊s非空否,非空則返回1,否則返回0*/
int stackpush(seqstack *s, datatype x)
/*把資料元素值x壓入順序堆疊s,入棧成功則返回1,否則返回0 */
else
}int stackpop(seqstack *s, datatype *d)
/*彈出順序堆疊s的棧頂資料元素值到引數d ,出棧成功則返回1,否則返回0*/
else
}int stacktop(seqstack s, datatype *d)
/*取順序堆疊s的當前棧頂資料元素值到引數d ,成功則返回1,否則返回0*/
else
}括號問題
#include
#include
#include
#define maxstacksize 100
typedef char datatype;
#include "seqstack.h"
void expiscorrect(char exp, int n)
//判斷有n個字元的字串exp左右括號是否配對正確
else if(exp[i] == ']' && stacknotempty(mystack)
stackpop(&mystack, &c); //出棧
else if(exp[i] == ']' && stacknotempty(mystack)
else if(exp[i] == '}' && stacknotempty(mystack)
else if(((exp[i] == ')') || (exp[i] == ']') || (exp[i] == '}'))
&& !stacknotempty(mystack))
}if(stacknotempty(mystack))
printf("左括號多於右括號!\n");
else
printf("左右括號匹配正確!\n");
}void main(void)
"; //測試例子1。左右括號配對次序不正確
char b = "(()))abc"; //測試例子2。右括號多於左括號
char c = "(()()abc"; //測試例子3。左括號多於右括號
char d = "(())abc"; //測試例子4。左右括號匹配正確
int n1 = strlen(a);
int n2 = strlen(b);
int n3 = strlen(c);
int n4 = strlen(d);
expiscorrect(a, n1);
expiscorrect(b, n2);
expiscorrect(c, n3);
expiscorrect(d, n4);
}二者放於同一目錄下即可
2樓:
貼**啊, 截圖上來不好幫你試
求解釋這段C語言左移程式,求這段C語言的解釋 求詳細
你這個 太古老了吧 引數列表 還是這種形式 求這段c語言的解釋 求詳細 80 找你還真不容易,剛才的程式錯了,改了,你看看!include define uint unsigned intvoid delay ms uint uitime void delay ms uint uitime void...
這段c語言為什麼答案是
找出最大數所在的行和列以及最大數的值 最大數為12,在2行1列 int m a 0 0 m的初值為a 0 0 即1,if a i j m 這句話是把a i j 與m的值進行比較,如果大於m的值,則把a i j 值給m,把行和列給ii和jj,所以m中為最大值,ii和jj為最大值所在的行和列,輸出結果就...
問一段程式的意思,這段c語言程式代表什麼意思,輸出是什麼結果?求解答。
function過程 過程名onevent 這個過程呼叫了兩個引數event,arg outputlogmessage顯示內容。程式的內容是 定義了一個名為onevent的函式 這個函式是用來輸出event和arg的 以字串的形式輸出 api程式拉 一個為了鍵盤對映的程式拉 有了他才能工作哦 這段c...