跟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個要被插入乙個初始為...