練習 資料結構C語言描述(1 19)

2021-08-27 09:58:39 字數 1049 閱讀 5569

1.19 試編寫演算法,計算i! * 2^i(i = 0, 1, ..., n - 1)的值並分別存入陣列a[arrsize]的各個分量中。假設計算機中允許的整數最大值為maxint,則當n > arrsize或對某個k(0 <= k <= n - 1)使k! * 2^k > maxint時,應按出錯處理。注意選擇你認為較好的出錯處理方法。

#include #include typedef unsigned int uint;

#define maxint 0xffffffffu

#define arrsize 20

// 求階乘

// num: 要計算的階乘數字

// status: 狀態-1表示溢位、1表示計算爭取

uint jie_chen(uint num, int &status)

int i = num;

while(i > 0)

result *= i;

--i;

} status = 1;

return result;

}// 計算結果

// jiechen:之前計算出來的階乘

// num: 2的多少次方

// status: 狀態-1表示溢位,1表示計算正確

uint zhi_shu(uint jiechen, int num, int &status)

result *= 2;

} status = 1;

return result;

}int main(int argc, char* argv)

; int i = 0;

int status = -1;

uint zhishu = 0;

uint jiechen = 0;

for(; i < arrsize; ++i)

else

} else

}for(int j = 0; j < i; j++) }

return 0;

}

輸出結果如下:

這結果對嗎?

用C語言描述資料結構

用c語言描述資料結構 學好計算機,主要要從三個方面做起,其中,第一步就是要學好各種語言,這是第一步,對各種語言有乙個大體的了解 然後就是資料結構了,它是計算機中的一門核心的課程,也是一門資訊計算 在最後本人認為就是演算法了,它也是這三部中最難得一步了,要學好計算機,做一名優秀的程式元,這三步是最基本...

c語言描述資料結構應用

學生的學號 姓名 根據輸入資料建立一棵二叉樹 第乙個輸入資料作為根節點 要求 左子樹節點的學號總比根節點小,右子樹節點的學號總比根節點大。1 鍵盤輸入你所在宿舍的同學資訊到二叉樹 2 按學號大小輸出所有同學資訊 3 給定學號,查詢該學號同學的姓名 樹的操作 include stdio.h inclu...

資料結構(C語言描述)棧

棧是一種特殊的表,這種表只在表首進行插入和刪除操作。因此,表首對棧來說具有特殊的意義,稱為棧頂。表尾稱為棧底。不含任何元素的棧稱為空棧。假設乙個棧s中的元素為a n a n 1 a 1 則稱a 1 為棧底元素,a n 為棧頂元素。棧中元素按a 1 a 2 a n 的次序進棧。在任何時候,出棧的元素都...