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 的次序進棧。在任何時候,出棧的元素都...