91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-01-04
  • 語言: 其他
  • 標簽: 后綴式??中綴試??

資源簡介

最后一個測試點沒過 實在想不出來哪有問題 歡迎指正。 后綴式轉中綴式 【問題描述】 將由數字和四則運算符組成的后綴表達式變換為中綴表達式。輸入的后綴表達式包含的運算符不超過15個。要求轉換后的中綴表達式中不應出現不必要的括號。例如,整個表達式兩端的括號要省略,不影響原計算結果的括號要省略。 【輸入形式】 程序從標準輸入上讀入一行字符串,是一個合法的后綴表達式,數字和運算符之間由空格分隔。其中的數字可以是整數,也可以是帶有小數部分的浮點數。 【輸出形式】 向標準輸出打印結果。 輸出只有一行,是轉換后的中綴表達式,并且 1. 各分量(包括括號)緊密輸出,不使用空格進行分隔

資源截圖

代碼片段和文件信息


#include
#include
#include
#include

char?buf[10000];
int?count?=?0;
char?c;

union?unit{
char?*s;
int?T;
};

struct?term{
int?type_a?type_b;?//左右兩項的類型?0:數?1:項
char?symbol;
union?unit?a;
union?unit?b;
};

int?stack_type[50]?e?=?-1;
union?unit?stack_value[50];
struct?term?item[100];
int?num?=?0;
char?s[1000];

int?getNum()
{
int?i?=?0;
if?(c?==?‘-‘||c==‘+‘){
s[i++]?=?c;
c?=?buf[++count];
}
do{
s[i++]?=?c;
c?=?buf[++count];
}?while?(isdigit(c)?||?c?==?‘.‘);
s[i]?=?0;

stack_type[++e]?=?0;
stack_value[e].s?=?(char*)malloc(strlen(s)+1);
strcpy(stack_value[e].s?s);
return?0;
}

void?getSymbol()
{
item[num].symbol?=?c;
item[num].type_a?=?stack_type[e-1];
item[num].type_b?=?stac

評論

共有 條評論

相關資源