基礎實驗4 2 5 關於堆的判斷 25 分

2021-09-27 03:20:12 字數 1142 閱讀 3192

跟pta編譯器實在是太不相容了,我自己測試出來的都沒有什麼問題

但pta一直報錯。

實現功能後放棄之。

學習了sscanf_s的用法,要注意在vs中,嚴格要求ssanf_s要在讀入的字串後面加入讀入大小,否則會超出快取區。

定義函式 int sscanf (const char *str,const char * format,…);

函式說明

sscanf()會將引數str的字串根據引數format字串來轉換並格式化資料。格式轉換形式請參考scanf()。轉換後的結果存於對應的引數內。

返回值 成功則返回引數數目,失敗則返回-1,錯誤原因存於errno中。 返回0表示失敗 否則,表示正確格式化資料的個數 例如:sscanf(str,"%d%d%s", &i,&i2, &s); 如果三個變成都讀入成功會返回3。 如果唯讀入了第乙個整數到i則會返回1。證明無法從str讀入第二個整數。

#include using namespace std;

typedef struct hnode * heap;

struct hnode ;

typedef heap minheap;

#define mindata 0

heap creatminheap(int maxsize)

bool isfull(minheap h)

bool insert(minheap h, int x)

i = ++h->size;

for (; h->data[i / 2] > x; i /= 2)

h->data[i] = h->data[i / 2];

h->data[i] = x;

return true;

}bool ifroot(int x,minheap h)

int find(minheap h, int n, int x)

int main()

char s[100],tmp[100];

gets_s(s);

while (m--)

else if (s[strlen(s) - 1] == 's')

else

else

} }return 0;

}

關於堆的判斷(25 分)

關於堆的判斷 25 分 將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 10000,10000 內的n個要被插入乙個初始為空的小頂堆的整數...

9 11 堆 關於堆的判斷(25 分)

將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 內的n個要被插入乙個初始為空的小頂堆的整數。之後m行,每行給出乙個命題。題目保證命題中的結...

5 12 關於堆的判斷 25分

將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 每組測試第1行包含2個正整數n le 1000 和m le 20 分別是插入元素的個數 以及需要判斷的命題數。下一行給出區間 10000,10000 1000 0,10 000 內的n個要被插入乙個初始為...