c 程式語言 第二版 練習題 4 3 4 4

2021-07-29 19:53:32 字數 1542 閱讀 7024

因為最後乙個運算元沒有彈出來,所以下次運算會被當成第乙個運算元,如需要清空,輸入'c『即可

#include #include #include #define maxop 100  

#define number '0' //數碼訊號

void push(double d);

double pop(); //值棧

int getop(char *s); //獲取輸入字元

void printtop(); //列印值棧頂元素

int getcount(); //獲取 值棧 個數

void swob(); //交換棧頂兩個元素

void clear(); //清空值棧元素

int main()

else

printf("error:除數不能為0\n");

break;

case 'c': // 處理清空值棧函式

clear();

break;

case '\n':

printtop();

break;

default:

printf("error:unknown command\n");

break;

} }system("pause");

return 0;

}#define maxval 100

int sp = 0;

double val[maxval];

void push(double d)

else }

double pop()

else }

int getch(void);

void ungetch(int);

int dflag = 1; //乙個數中是否『.' ,沒有則存入

int _flag = 1; // 用於判斷'-' 是減號,還是負號

int getop(char *s)

else if (c == '-'&& getcount()<2 && _flag) //乙個運算元裡面只能包含乙個'-'符號

else

} if (isdigit(c) || _flag == 0 || dflag == 0)

else if (c == '.' && dflag)

}else

}} s[i] = '\0';

if (c != eof)

_flag = 1;

dflag = 1;

return number;

}void printtop()

else }

int getcount()

void swob()

}void clear()

}#define bufsize 100

char buf[bufsiz];

int bufp = 0;

int getch(void)

void ungetch(int c)

else

}

c 程式語言 第二版 練習題 3 6

自己做的練習題,不知道對不對,自學只能做到這個程度,如果有更好的方法,麻煩留我乙份,共同進步char itoa int value,char str,int w char buf 256 儲存轉換結果 char temp 用於交換資料 char to null,from null 用於交換資料 in...

c程式語言 第二版 新版 習題1 9

include define maxsize 10000 允許儲存的最大長度 輸入複製到輸出,並將連續的多個空格用乙個空格代替 int space compression char s int main void int i 0,c freopen c users wwwzh desktop dat...

c程式語言 第二版 新版 習題1 20

編寫程式detab,將輸入中的製表符替換成適當數目的空格,使空格充滿到下乙個製表符 終止位的地方.假設製表符終止位的位置是固定的,比如每隔n列就會出現乙個製表符 終止位 include define stopbit 8 製表符終止位 define maxline 1001 允許的輸入行的最大長度 i...