第1章 緒論 1 1.1 程序設計語言概述 1 1.1.1 機器語言 1 1.1.2 匯編語言 2 1.1.3 高級語言 2 1.1.4 C語言 3 1.2 C語言的優點和缺點 4 1.2.1 C語言的優點 4 1.2.2 C語言的缺點 6 1.3 算法概述 7 1.3.1 算法的基本特征 7 1.3.2 算法的復雜度 8 1.3.3 算法的準確性 10 1.3.4 算法的穩定性 14 第2章 復數運算 18 2.1 復數的四則運算 18 2.1.1 [算法1] 復數乘法 18 2.1.2 [算法2] 復數除法 20 2.1.3 【實例5】 復數的四則運算 22 2.2 復數的常用函數運算 23 2.2.1 [算法3] 復數的乘冪 23 2.2.2 [算法4] 復數的n次方根 25 2.2.3 [算法5] 復數指數 27 2.2.4 [算法6] 復數對數 29 2.2.5 [算法7] 復數正弦 30 2.2.6 [算法8] 復數余弦 32 2.2.7 【實例6】 復數的函數運算 34 第3章 多項式計算 37 3.1 多項式的表示方法 37 3.1.1 系數表示法 37 3.1.2 點表示法 38 3.1.3 [算法9] 系數表示轉化為點表示 38 3.1.4 [算法10] 點表示轉化為系數表示 42 3.1.5 【實例7】 系數表示法與點表示法的轉化 46 3.2 多項式運算 47 3.2.1 [算法11] 復系數多項式相乘 47 3.2.2 [算法12] 實系數多項式相乘 50 3.2.3 [算法13] 復系數多項式相除 52 3.2.4 [算法14] 實系數多項式相除 54 3.2.5 【實例8】 復系數多項式的乘除法 56 3.2.6 【實例9】 實系數多項式的乘除法 57 3.3 多項式的求值 59 3.3.1 [算法15] 一元多項式求值 59 3.3.2 [算法16] 一元多項式多組求值 60 3.3.3 [算法17] 二元多項式求值 63 3.3.4 【實例10】 一元多項式求值 65 3.3.5 【實例11】 二元多項式求值 66 第4章 矩陣計算 68 4.1 矩陣相乘 68 4.1.1 [算法18] 實矩陣相乘 68 4.1.2 [算法19] 復矩陣相乘 70 4.1.3 【實例12】 實矩陣與復矩陣的乘法 72 4.2 矩陣的秩與行列式值 73 4.2.1 [算法20] 求矩陣的秩 73 4.2.2 [算法21] 求一般矩陣的行列式值 76 4.2.3 [算法22] 求對稱正定矩陣的行列式值 80 4.2.4 【實例13】 求矩陣的秩和行列式值 82 4.3 矩陣求逆 84 4.3.1 [算法23] 求一般復矩陣的逆 84 4.3.2 [算法24] 求對稱正定矩陣的逆 90 4.3.3 [算法25] 求托伯利茲矩陣逆的Trench方法 92 4.3.4 【實例14】 驗證矩陣求逆算法 97 4.3.5 【實例15】 驗證T矩陣求逆算法 99 4.4 矩陣分解與相似變換 102 4.4.1 [算法26] 實對稱矩陣的LDL分解 102 4.4.2 [算法27] 對稱正定實矩陣的Cholesky分解 104 4.4.3 [算法28] 一般實矩陣的全選主元LU分解 107 4.4.4 [算法29] 一般實矩陣的QR分解 112 4.4.5 [算法30] 對稱實矩陣相似變換為對稱三對角陣 116 4.4.6 [算法31] 一般實矩陣相似變換為上Hessen-Burg矩陣 121 4.4.7 【實例16】 對一般實矩陣進行QR分解 126 4.4.8 【實例17】 對稱矩陣的相似變換 127 4.4.9 【實例18】 一般實矩陣相似變換 129 4.5 矩陣特征值的計算 130 4.5.1 [算法32] 求上Hessen-Burg矩陣全部特征值的QR方法 130 4.5.2 [算法33] 求對稱三對角陣的全部特征值 137 4.5.3 [算法34] 求對稱矩陣特征值的雅可比法 143 4.5.4 [算法35] 求對稱矩陣特征值的雅可比過關法 147 4.5.5 【實例19】 求上Hessen-Burg矩陣特征值 151 4.5.6 【實例20】 分別用兩種雅克比法求對稱矩陣特征值 152 第5章 線性代數方程組的求解 154 5.1 高斯消去法 154 5.1.1 [算法36] 求解復系數方程組的全選主元高斯消去法 155 5.1.2 [算法37] 求解實系數方程組的全選主元高斯消去法 160 5.1.3 [算法38] 求解復系數方程組的全選主元高斯-約當消去法 163 5.1.4 [算法39] 求解實系數方程組的全選主元高斯-約當消去法 168 5.1.5 [算法40] 求解大型稀疏系數矩陣方程組的高斯-約當消去法 171 5.1.6 [算法41] 求解三對角線方程組的追趕法 174 5.1.7 [算法42] 求解帶型方程組的方法 176 5.1.8 【實例21】 解線性實系數方程組 179 5.1.9 【實例22】 解線性復系數方程組 180 5.1.10 【實例23】 解三對角線方程組 182 5.2 矩陣分解法 184 5.2.1 [算法43] 求解對稱方程組的LDL分解法 184 5.2.2 [算法44] 求解對稱正定方程組的Cholesky分解法 186 5.2.3 [算法45] 求解線性最小二乘問題的QR分解法 188 5.2.4 【實例24】 求解對稱正定方程組 191 5.2.5 【實例25】 求解線性最小二乘問題 192 5.3 迭代方法 193 5.3.1 [算法46] 病態方程組的求解 193 5.3.2 [算法47] 雅克比迭代法 197 5.3.3 [算法48] 高斯-塞德爾迭代法 200 5.3.4 [算法49] 超松弛方法 203 5.3.5 [算法50] 求解對稱正定方程組的共軛梯度方法 205 5.3.6 [算法51] 求解托伯利茲方程組的列文遜方法 209 5.3.7 【實例26】 解病態方程組 214 5.3.8 【實例27】 用迭代法解方程組 215 5.3.9 【實例28】 求解托伯利茲方程組 217 第6章 非線性方程與方程組的求解 219 6.1 非線性方程求根的基本過程 219 6.1.1 確定非線性方程實根的初始近似值或根的所在區間 219 6.1.2 求非線性方程根的精確解 221 6.2 求非線性方程一個實根的方法 221 6.2.1 [算法52] 對分法 221 6.2.2 [算法53] 牛頓法 223 6.2.3 [算法54] 插值法 226 6.2.4 [算法55] 埃特金迭代法 229 6.2.5 【實例29】 用對分法求非線性方程組的實根 232 6.2.6 【實例30】 用牛頓法求非線性方程組的實根 233 6.2.7 【實例31】 用插值法求非線性方程組的實根 235 6.2.8 【實例32】 用埃特金迭代法求非線性方程組的實根 237 6.3 求實系數多項式方程全部根的方法 238 6.3.1 [算法56] QR方法 238 6.3.2 【實例33】 用QR方法求解多項式的全部根 240 6.4 求非線性方程組一組實根的方法 241 6.4.1 [算法57] 梯度法 241 6.4.2 [算法58] 擬牛頓法 244 6.4.3 【實例34】 用梯度法計算非線性方程組的一組實根 250 6.4.4 【實例35】 用擬牛頓法計算非線性方程組的一組實根 252 第7章 代數插值法 254 7.1 拉格朗日插值法 254 7.1.1 [算法59] 線性插值 255 7.1.2 [算法60] 二次拋物線插值 256 7.1.3 [算法61] 全區間插值 259 7.1.4 【實例36】 拉格朗日插值 262 7.2 埃爾米特插值 263 7.2.1 [算法62] 埃爾米特不等距插值 263 7.2.2 [算法63] 埃爾米特等距插值 267 7.2.3 【實例37】 埃爾米特插值法 270 7.3 埃特金逐步插值 271 7.3.1 [算法64] 埃特金不等距插值 272 7.3.2 [算法65] 埃特金等距插值 275 7.3.3 【實例38】 埃特金插值 278 7.4 光滑插值 279 7.4.1 [算法66] 光滑不等距插值 279 7.4.2 [算法67] 光滑等距插值 283 7.4.3 【實例39】 光滑插值 286 7.5 三次樣條插值 287 7.5.1 [算法68] 第一類邊界條件的三次樣條函數插值 287 7.5.2 [算法69] 第二類邊界條件的三次樣條函數插值 292 7.5.3 [算法70] 第三類邊界條件的三次樣條函數插值 296 7.5.4 【實例40】 樣條插值法 301 7.6 連分式插值 303 7.6.1 [算法71] 連分式插值 304 7.6.2 【實例41】 驗證連分式插值的函數 308 第8章 數值積分法 309 8.1 變步長求積法 310 8.1.1 [算法72] 變步長梯形求積法 310 8.1.2 [算法73] 自適應梯形求積法 313 8.1.3 [算法74] 變步長辛卜生求積法 316 8.1.4 [算法75] 變步長辛卜生二重積分方法 318 8.1.5 [算法76] 龍貝格積分 322 8.1.6 【實例42】 變步長積分法進行一重積分 325 8.1.7 【實例43】 變步長辛卜生積分法進行二重積分 326 8.2 高斯求積法 328 8.2.1 [算法77] 勒讓德-高斯求積法 328 8.2.2 [算法78] 切比雪夫求積法 331 8.2.3 [算法79] 拉蓋爾-高斯求積法 334 8.2.4 [算法80] 埃爾米特-高斯求積法 336 8.2.5 [算法81] 自適應高斯求積方法 337 8.2.6 【實例44】 有限區間高斯求積法 342 8.2.7 【實例45】 半無限區間內高斯求積法 343 8.2.8 【實例46】 無限區間內高斯求積法 345 8.3 連分式法 346 8.3.1 [算法82] 計算一重積分的連分式方法 346 8.3.2 [算法83] 計算二重積分的連分式方法 350 8.3.3 【實例47】 連分式法進行一重積分 354 8.3.4 【實例48】 連分式法進行二重積分 355 8.4 蒙特卡洛法 356 8.4.1 [算法84] 蒙特卡洛法進行一重積分 356 8.4.2 [算法85] 蒙特卡洛法進行二重積分 358 8.4.3 【實例49】 一重積分的蒙特卡洛法 360 8.4.4 【實例50】 二重積分的蒙特卡洛法 361 第9章 常微分方程(組)初值問題的求解 363 9.1 歐拉方法 364 9.1.1 [算法86] 定步長歐拉方法 364 9.1.2 [算法87] 變步長歐拉方法 366 9.1.3 [算法88] 改進的歐拉方法 370 9.1.4 【實例51】 歐拉方法求常微分方程數值解 372 9.2 龍格-庫塔方法 376 9.2.1 [算法89] 定步長龍格-庫塔方法 376 9.2.2 [算法90] 變步長龍格-庫塔方法 379 9.2.3 [算法91] 變步長基爾方法 383 9.2.4 【實例52】 龍格-庫塔方法求常微分方程的初值問題 386 9.3 線性多步法 390 9.3.1 [算法92] 阿當姆斯預報校正法 390 9.3.2 [算法93] 哈明方法 394 9.3.3 [算法94] 全區間積分的雙邊法 399 9.3.4 【實例53】 線性多步法求常微分方程組初值問題 401 第10章 擬合與逼近 405 10.1 一元多項式擬合 405 10.1.1 [算法95] 最小二乘擬合 405 10.1.2 [算法96] 最佳一致逼近的里米茲方法 412 10.1.3 【實例54】 一元多項式擬合 417 10.2 矩形區域曲面擬合 419 10.2.1 [算法97] 矩形區域最小二乘曲面擬合 419 10.2.2 【實例55】 二元多項式擬合 428 第11章 特殊函數 430 11.1 連分式級數和指數積分 430 11.1.1 [算法98] 連分式級數求值 430 11.1.2 [算法99] 指數積分 433 11.1.3 【實例56】 連分式級數求值 436 11.1.4 【實例57】 指數積分求值 438 11.2 伽馬函數 439 11.2.1 [算法100] 伽馬函數 439 11.2.2 [算法101] 貝塔函數 441 11.2.3 [算法102] 階乘 442 11.2.4 【實例58】 伽馬函數和貝塔函數求值 443 11.2.5 【實例59】 階乘求值 444 11.3 不完全伽馬函數 445 11.3.1 [算法103] 不完全伽馬函數 445 11.3.2 [算法104] 誤差函數 448 11.3.3 [算法105] 卡方分布函數 450 11.3.4 【實例60】 不完全伽馬函數求值 451 11.3.5 【實例61】 誤差函數求值 452 11.3.6 【實例62】 卡方分布函數求值 453 11.4 不完全貝塔函數 454 11.4.1 [算法106] 不完全貝塔函數 454 11.4.2 [算法107] 學生分布函數 457 11.4.3 [算法108] 累積二項式分布函數 458 11.4.4 【實例63】 不完全貝塔函數求值 459 11.5 貝塞爾函數 461 11.5.1 [算法109] 第一類整數階貝塞爾函數 461 11.5.2 [算法110] 第二類整數階貝塞爾函數 466 11.5.3 [算法111] 變型第一類整數階貝塞爾函數 469 11.5.4 [算法112] 變型第二類整數階貝塞爾函數 473 11.5.5 【實例64】 貝塞爾函數求值 476 11.5.6 【實例65】 變型貝塞爾函數求值 477 11.6 Carlson橢圓積分 479 11.6.1 [算法113] 第一類橢圓積分 479 11.6.2 [算法114] 第一類橢圓積分的退化形式 481 11.6.3 [算法115] 第二類橢圓積分 483 11.6.4 [算法116] 第三類橢圓積分 486 11.6.5 【實例66】 第一類勒讓德橢圓函數積分求值 490 11.6.6 【實例67】 第二類勒讓德橢圓函數積分求值 492 第12章 極值問題 494 12.1 一維極值求解方法 494 12.1.1 [算法117] 確定極小值點所在的區間 494 12.1.2 [算法118] 一維黃金分割搜索 499 12.1.3 [算法119] 一維Brent方法 502 12.1.4 [算法120] 使用一階導數的Brent方法 506 12.1.5 【實例68】 使用黃金分割搜索法求極值 511 12.1.6 【實例69】 使用Brent法求極值 513 12.1.7 【實例70】 使用帶導數的Brent法求極值 515 12.2 多元函數求極值 517 12.2.1 [算法121] 不需要導數的一維搜索 517 12.2.2 [算法122] 需要導數的一維搜索 519 12.2.3 [算法123] Powell方法 522 12.2.4 [算法124] 共軛梯度法 525 12.2.5 [算法125] 準牛頓法 531 12.2.6 【實例71】 驗證不使用導數的一維搜索 536 12.2.7 【實例72】 用Powell算法求極值 537 12.2.8 【實例73】 用共軛梯度法求極值 539 12.2.9 【實例74】 用準牛頓法求極值 540 12.3 單純形法 542 12.3.1 [算法126] 求無約束條件下n維極值的單純形法 542 12.3.2 [算法127] 求有約束條件下n維極值的單純形法 548 12.3.3 [算法128] 解線性規劃問題的單純形法 556 12.3.4 【實例75】 用單純形法求無約束條件下N維的極值 568 12.3.5 【實例76】 用單純形法求有約束條件下N維的極值 569 12.3.6 【實例77】 求解線性規劃問題 571 第13章 隨機數產生與統計描述 574 13.1 均勻分布隨機序列 574 13.1.1 [算法129] 產生0到1之間均勻分布的一個隨機數 574 13.1.2 [算法130] 產生0到1之間均勻分布的隨機數序列 576 13.1.3 [算法131] 產生任意區間內均勻分布的一個隨機整數 577 13.1.4 [算法132] 產生任意區間內均勻分布的隨機整數序列 578 13.1.5 【實例78】 產生0到1之間均勻分布的隨機數序列 580 13.1.6 【實例79】 產生任意區間內均勻分布的隨機整數序列 581 13.2 正態分布隨機序列 582 13.2.1 [算法133] 產生任意均值與方差的正態分布的一個隨機數 582 13.2.2 [算法134] 產生任意均值與方差的正態分布的隨機數序列 585 13.2.3 【實例80】 產生任意均值與方差的正態分布的一個隨機數 587 13.2.4 【實例81】 產生任意均值與方差的正態分布的隨機數序列 588 13.3 統計描述 589 13.3.1 [算法135] 分布的矩 589 13.3.2 [算法136] 方差相同時的t分布檢驗 591 13.3.3 [算法137] 方差不同時的t分布檢驗 594 13.3.4 [算法138] 方差的F檢驗 596 13.3.5 [算法139] 卡方檢驗 599 13.3.6 【實例82】 計算隨機樣本的矩 601 13.3.7 【實例83】 t分布檢驗 602 13.3.8 【實例84】 F分布檢驗 605 13.3.9 【實例85】 檢驗卡方檢驗的算法 607 第14章 查找 609 14.1 基本查找 609 14.1.1 [算法140] 有序數組的二分查找 609 14.1.2 [算法141] 無序數組同時查找最大和最小的元素 611 14.1.3 [算法142] 無序數組查找第M小的元素 613 14.1.4 【實例86】 基本查找 615 14.2 結構體和磁盤文件的查找 617 14.2.1 [算法143] 無序結構體數組的順序查找 617 14.2.2 [算法144] 磁盤文件中記錄的順序查找 618 14.2.3 【實例87】 結構體數組和文件中的查找 619 14.3 哈希查找 622 14.3.1 [算法145] 字符串哈希函數 622 14.3.2 [算法146] 哈希函數 626 14.3.3 [算法147] 向哈希表中插入元素 628 14.3.4 [算法148] 在哈希表中查找元素 629 14.3.5 [算法149] 在哈希表中刪除元素 631 14.3.6 【實例88】 構造哈希表并進行查找 632 第15章 排序 636 15.1 插入排序 636 15.1.1 [算法150] 直接插入排序 636 15.1.2 [算法151] 希爾排序 637 15.1.3 【實例89】 插入排序 639 15.2 交換排序 641 15.2.1 [算法152] 氣泡排序 641 15.2.2 [算法153] 快速排序 642 15.2.3 【實例90】 交換排序 644 15.3 選擇排序 646 15.3.1 [算法154] 直接選擇排序 646 15.3.2 [算法155] 堆排序 647 15.3.3 【實例91】 選擇排序 650 15.4 線性時間排序 651 15.4.1 [算法156] 計數排序 651 15.4.2 [算法157] 基數排序 653 15.4.3 【實例92】 線性時間排序 656 15.5 歸并排序 657 15.5.1 [算法158] 二路歸并排序 658 15.5.2 【實例93】 二路歸并排序 660 第16章 數學變換與濾波 662 16.1 快速傅里葉變換 662 16.1.1 [算法159] 復數據快速傅里葉變換 662 16.1.2 [算法160] 復數據快速傅里葉逆變換 666 16.1.3 [算法161] 實數據快速傅里葉變換 669 16.1.4 【實例94】 驗證傅里葉變換的函數 671 16.2 其他常用變換 674 16.2.1 [算法162] 快速沃爾什變換 674 16.2.2 [算法163] 快速哈達瑪變換 678 16.2.3 [算法164] 快速余弦變換 682 16.2.4 【實例95】 驗證沃爾什變換和哈達瑪的函數 684 16.2.5 【實例96】 驗證離散余弦變換的函數 687 16.3 平滑和濾波 688 16.3.1 [算法165] 五點三次平滑 689 16.3.2 [算法166] α-β-γ濾波 690 16.3.3 【實例97】 驗證五點三次平滑 692 16.3.4 【實例98】 驗證α-β-γ濾波算法 693
標簽: C 算法 附件 源代碼
上傳時間: 2015-06-29
上傳用戶:cbsdukaf
C語言課程設計上機實習內容 一、從下面題目中任選一題: A.簡單的學生成績管理程序設計 B.考卷成績分析軟件程序設計 C.簡單醫療費用報銷管理軟件程序設計 除此之外,學生也可自行選擇課題進行設計,如自動柜員機界面程序、學生信息管理(包括生日祝賀)、計件工資管理等(但課題必須經指導教師審題合格后方可使用)。 二、課程設計說明書的編寫規范 1、程序分析和設計 2、流程圖 3、源程序清單 4、調試過程:測試數據及結果,出現了哪些問題,如何修改的 5、程序有待改進的地方 6、本次實習的收獲和建議 三、提交的資料 1、軟件 軟件需提供源程序,并能正常運行。 注:對于程序中未能實現的部分需要加以說明。 對于程序中所參考的部分代碼需要加以聲明,并說明出處。 2、文檔 課程設計文檔要求打印稿,同時提交電子文檔。文檔中必須包含課程設計小結,即收獲和體會。 文檔要注意格式,標題一律用小四號宋體加黑,正文用五號宋體,行間距固定值18,首行縮進2字符;如果有圖表,每個圖表必須順序編號并有標題,如“圖1 計算平均分的N-S圖”、“表1 地信081班成績一覽表”,一般圖名在圖的正下方、表名在表的正上方。 四、成績評定 通過學生的動手能力、獨立分析解決問題的能力、創新能力、課程設計報告、答辯水平以及學習態度綜合考核。 考核標準包括: 1、完成設計題目所要求的內容,程序書寫規范、有一定的實用性,占45%; 2、平時表現(考勤+上機抽查)占10%; 3、課程設計報告占30%; 4、答辯及演示占15%。 五、實習計劃 以選題一為例 實習計劃 時間 內容 第1天 一、布置實習內容和要求 1、 實習內容介紹、實習安排、實習紀律、注意事項 2、 學生選題 第2天 二、上機實習 1、根據所選題的要求,進行總體設計,確定程序總體框架 2、選擇和準備原始數據,制作.txt文本文件 第3天 3、文件的讀寫函數的使用,實現文本文件的讀取和寫入功能。 使用函數fread(); fwrite(); fprint(); fscan();完成對原始數據的文本輸入和輸出。 第4、5天 4、主要算法的選擇和功能實現(以學生成績管理系統為例): ① 計算每個學生三門功課的平均分,并按平均分排列名次,若平均分相同則名次并列;結果寫入文件。 ② 統計全班每門課程的平均分,并計算各分數段(60以下,60~69,70~79,80~89,90以上)的學生人數;結果寫入文件。 第6、7天 5、結果格式輸出及程序整合(以學生成績管理系統為例) ① 按格式在屏幕上打印每名學生成績條; ② 在屏幕上打印出所有不及格學生的下列信息:學號,不及格的課程名,該不及格課程成績; (選做)在屏幕打印優等生名單(學號,三門課程成績,平均成績,名次),優等生必須滿足下列條件:1)平均成績大于90分;或平均分大于85分且至少有一門功課為100分;或者平均分大于85分且至少兩門課程成績為95分以上;2) 名次在前三名; 3) 每門功課及格以上; 第8天 三、測試完整程序 要求功能完整,結果符合設計要求,并進行程序驗收。 第9、10天 四、編寫報告 完成實習報告的編寫,并打印上交報告。
上傳時間: 2016-06-27
上傳用戶:lh643631046
軟件質量是被大多數程序員掛在嘴上而不是放在心上的東西! 除了完全外行和真正的編程高手外,初讀本書,你最先的感受將是驚慌:“哇!我 以前捏造的 除了完全外行和真正的編程高手外,初讀本書,你最先的感受將是驚慌:“哇!我 以前捏造的 C++/ C 程序怎么會有那么多的毛病?” 。 別難過,作者只不過比你早幾年、多幾次驚慌而已。 面 請花一兩個小時認真閱讀這本百頁經書,你將會獲益匪淺,這是前面 1 N- 1 個讀者的 建議。
上傳時間: 2016-08-13
上傳用戶:lansedeyuntkn
#include <stdlib.h> #include<stdio.h> #include <malloc.h> #define stack_init_size 100 #define stackincrement 10 typedef struct sqstack { int *base; int *top; int stacksize; } sqstack; int StackInit(sqstack *s) { s->base=(int *)malloc(stack_init_size *sizeof(int)); if(!s->base) return 0; s->top=s->base; s->stacksize=stack_init_size; return 1; } int Push(sqstack *s,int e) { if(s->top-s->base>=s->stacksize) { s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int)); if(!s->base) return 0; s->top=s->base+s->stacksize; s->stacksize+=stackincrement; } *(s->top++)=e; return e; } int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=*--s->top; return e; } int stackempty(sqstack *s) { if(s->top==s->base) { return 1; } else { return 0; } } int conversion(sqstack *s) { int n,e=0,flag=0; printf("輸入要轉化的十進制數:\n"); scanf("%d",&n); printf("要轉化為多少進制:\n"); scanf("%d",&flag); printf("將十進制數%d 轉化為%d 進制是:\n",n,flag); while(n) { Push(s,n%flag); n=n/flag; } while(!stackempty(s)) { e=Pop(s,e); switch(e) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; default: printf("%d",e); } } printf("\n"); return 0; } int main() { sqstack s; StackInit(&s); conversion(&s); return 0; }
上傳時間: 2016-12-08
上傳用戶:愛你198
Windows7下IE 8使用技巧5則 IE幾乎是各位菜鳥、大蝦上網時的首選瀏覽器,有關它的常規使用技巧,相信各位早已是耳熟能詳了。只要你足夠用心、細心,就一定會不斷“挖掘”出IE新的使用技巧來。不信,就來看看下面的幾則新鮮用法吧,相信會讓各位有耳目一新之感! 1.尋找失落的IE啟動按鈕 正常情況下,IE瀏覽器的快速啟動按鈕會在系統任務欄中“安家落戶”,可是一旦操作不小心,往往會導致IE瀏覽器的快速啟動按鈕在任務欄中“消失”。那么 你面對IE啟動按鈕從系統任務欄中消失時,你該如何去將它尋找回來呢?其實方法很簡單,只要你按照下面的步驟來進行操作就可以了。 首先用鼠標右鍵單擊桌面中的IE瀏覽器圖標,從彈出的快捷菜單中執行“創建快捷方式”命令,這樣就能為IE瀏覽器創建好一個對應的快捷方式。 接著打開系統資源管理窗口,依次雙擊C盤中的“Windows”文件夾、“ApplicationData”文件夾、“Microsoft”文件夾、 “InternetExplorer”文件夾、“QuickLaunch”文件夾;然后將桌面中創建好的IE快捷方式,直接拖動到 “QuickLaunch”文件夾窗口中。 當然還有更簡潔的方法,那就是直接將系統桌面中的IE瀏覽器圖標,用鼠標左鍵拖動到系統任務欄中,不過在拖放時一定要在出現虛線圖標之后才可以。 2.讓IE也能斷點續傳 大家知道,單擊IE頁面中的某個下載鏈接地址時,IE就會自動調用其內置的下載功能來下載文件;不過這種功能一旦遇到網絡堵塞而掉線的情況時,就會將已經下載好的內容全部丟失,以后再次下載時還需要從頭再來,顯然IE內置的下載功能容易耽誤下載時間。 那么我們有沒有辦法讓IE的下載功能也支持斷點續傳呢?答案是肯定的。只要你使用IE來下載文件出現意外掉線時,或者發現IE下載進度條長時間沒有任何反 應時,請不要單擊該下載對話框中的“取消”按鈕,而應該直接單擊該窗口中的“x”按鈕,來暫時退出下載狀態;接著重新單擊網頁中的這個下載鏈接地址,然后 再單擊“保存”按鈕,在彈出的保存對話框中,將文件名和保存路徑都設置為與上次沒下載完時的文件相同,這樣IE就能接著上次沒下載完的位置,繼續下載余下 的內容;當然這種IE斷點續傳功能只適合HTTP下載方式,而不適合FTP下載方式。 3.將IE選項設置“架空” 倘若允許其他人隨意對IE的上網參數進行設置的話,那么IE的安全、甚至系統的安全都會受到威脅,例如一旦非法用戶打開IE瀏覽器的“Internet選 項”設置框,將上網安全級別降低的話,那么網絡中的各種病毒、木馬,都有可能就會隨之而來。為了確保安全,你有時必須“架空”IE瀏覽器中的 Internet選項,讓非法用戶無法自行設置IE上網參數: 首先打開Windows系統的資源管理器窗口,找到并進入到“system32”文件夾窗口,選中其中的“inetcpl.cpl”文件,并用鼠標右鍵單 擊之,從彈出的右鍵菜單中,單擊“重命名”選項,將“inetcpl.cpl”的文件名稱更名為“inetcplnew.cpl”,當然你也能將其換成其 他名稱,不過你一定要將更名后的文件名稱記得,以后需要恢復時以便能快速找到。完成重命名操作后,再單擊IE瀏覽器中的“Internet選項”命令時, 就不能進入到選項設置窗口了。 4.不用工具也能修復IE 在網上盡情沖浪時,IE難免會遭遇惡意攻擊;那么面對被惡意修改的IE,你該如何去恢復它呢?大多數人都會去選用各種專業的IE修復工具,來對付IE的惡意攻擊;也有水平高一些的“大蝦”,通過手工修改注冊表的方法,來恢復IE的本來“面貌”。可是當你手頭沒有專業的IE修復工具可以利用時,或者自己對注冊表了解不深時,你該如何去修復IE呢?為此,本文為你提供一則非常便利的解決方法,不過該方法只能適合Windows2000或WindowsXP操作系統,下面就是該方法的具體實現步驟: 依次單擊“開始”/“設置”/“控制面板”命令,然后依次雙擊“管理工具”/“計算機管理”圖標,在隨后彈出的窗口中,依次展開“系統工具”/“本地用戶 和組”文件夾,再單擊“用戶”選項,在對應的右邊子窗口中,右擊空白區域,執行快捷菜單中的“新用戶”命令,將新用戶命名為“newusr”,同時設置好 該賬號的訪問密碼; 完成新用戶的創建任務后,依次單擊“開始”/“關機”命令,然后執行“注銷Administrator”操作,再改用“newusr”賬號重新進入到 Windows2000系統;接著打開系統注冊表編輯界面,依次展開注冊表分支HKEY_CURRENT_USER\Software \Microsoft\InternetExplorer,并將“InternetExplorer”主鍵選中,再依次單擊注冊表菜單欄中的“注冊表”/ “導出注冊表文件”命令,將有關IE部分的注冊表分支內容導出,例如保存為“ienew.reg”文件,如此一來你就能將“newusr”賬號下關于IE 的正確設置全部導出來了;由于“newusr”賬號是剛剛新建的,因此該賬號下的IE設置都是系統默認的正確設置,也就是說它是沒有被攻擊過的; 下面注銷“newusr”賬號,再以“Administrator”賬號登錄系統;然后打開注冊表編輯窗口,依次執行菜單欄中的 “注冊表”/“導入注冊表文件”命令,在彈出的文件選擇對話框中,將前面導出的“ienew.reg”文件導入到注冊表中,就能使IE恢復本來“面貌” 了。 當然,這樣的方法比較麻煩,因此我們推薦IE一鍵修復 0.3(點擊官方下載)167K ,中文綠色免費軟件,可以一鍵修復被惡意篡改的IE瀏覽器。此外,在魔方(點此下載)中,也將加入IE的修復功和監控惡意軟件等安全功能。 5. 找回Windows 7中的IE 8桌面圖標 在Windows 7中,由于超級任務欄的存在,微軟取消了IE 8的桌面圖標設置,也就是說,在Windows 7中,無法在桌面顯示IE 8圖標,當然,快捷方式是不能算的。不過近來有會員在論壇為我們提供了一個很好的辦法,可以以"曲線"的方式實現IE 8圖標桌面顯示。盡管還不完美,但基本的功能都具備了,大家可以通過Windows7優化大師 - 美化大師 - 系統外觀來自行設置。 善用快捷鍵,玩轉Windows 7 便簽程序 便箋是一種可以粘貼在任意位置的正方形或長條形紙條,方便我們隨時記錄一些信息,或是安排日常工作,隨寫隨記,非常方便。在 Windows 中為我們提供了和實物便箋一樣功能的小程序,本人非常喜歡。在 Vista 中,這個小程序作為邊欄小工具出現,但在 Windows 7 中已經成為了一個標準的Windows附件程序。 依次點擊Windows7的開始菜單按鈕 -》所有程序 -》附件 -》,點擊打開便簽,如下圖所示: 不用軟件,非會員徹底去除QQ2009/2010廣告 昨天談到了《不是VIP用戶也不怕 不需任何補丁屏蔽迅雷廣告》,用戶反饋非常的多,如果沒能設置成功的,請仔細閱讀步驟,100%的可以搞定的,當然,如果迅雷再發新版升級后,就不保證了,有任何新的變化,請隨時關注Windows7之家和Vista之家首頁。 說完了迅雷,我們再來說下QQ吧,QQ的免費用戶數量除了Windows外,就屬它大了。 屏蔽廣告除了更干凈潔爽之外,更大的好處是不用隨時下載體積大的flash動畫和gif動畫圖片了,QQ登陸速度顯著提升,同時,也少了帶寬消耗。 非QQ會員徹底屏蔽QQ2009正式版廣告: 在QQ2009 Beta版的時候,可以通過刪除一些文件讓非會員也能實現去廣告的目的,可惜從QQ2009正式版起增加了文件完整性檢查,刪除文件會導致QQ無法啟動,并要求重新安裝。 那么對于非會員來說,QQ2009正式版(包括之后的SP6、SP5、SP4、SP3、SP2、SP1等)就不能手動去廣告了嗎? 其實還是有辦法的,而且做起來也不難,你說是用第三方工具? 不需要!只要你對Windows操作系統稍有了解就可以輕松搞定,除了QQ2009,您也可以把這些招數用在QQ2010的測試版中,幾乎完全一樣。 下面,就把找到的方法共享給大家吧! 在開始之前,請先退出您正在運行中的QQ。 1、去除騰訊迷你首頁: 對于每次啟動QQ后,都彈出的“騰訊迷你首頁”,很多人一定感到不爽,就讓我們先拿它開刀吧。 首先進入QQ的安裝文件夾,接著進入 Plugin\Com.Tencent.Advertisement\bin 文件夾,這里你會看到一個Advertisement.dll文件,它就是迷你首頁的關鍵所在,只需將這個文件改成只讀屬性,以后啟動QQ就不會再看到迷你首頁了。在這個文件上面點擊鼠標右鍵,點擊屬性,勾選只讀,確定退出。 2、去除聊天窗口右上角廣告: 這個操作針對XP、Win2003系統用戶和Vista、Windows7、Win2008略有不同,主要是文件夾路徑上的。 1)XP、Win2003系統用戶操作方法: 進入 X:\Documents and Settings\用戶名\Application Data\Tencent\QQ\Misc\com.tencent.advertisement (注意,X指的系統所在盤盤符,一般是C),首先刪除這個文件夾里面的所有文件,注意文件夾本身不能刪除,然后把當前用戶的寫入權限給拒絕掉(需要當前分區為NTFS格式)。 方法:文件夾上右鍵,屬性 - 安全標簽,選中當前登錄用戶,接著在下方“寫入”權限里,拒絕上打勾。 2)Vista、Windows7、Win2008用戶的操作: 進入 X:\users\用戶名\appdata\Roaming\Tencent\QQ\Misc\com.tencent.advertisement,在這個文件上面點擊鼠標右鍵,點擊屬性,然后點擊安全標簽, 選中你的當前用戶,如下圖示例中的Ruamei.com,然后點擊“編輯”按鈕,OK,寫入那兒設置下拒絕吧。 這樣,無論是會員還是非會員,你都不會有任何的廣告圖片下載了。 3、去除QQ2009/QQ2010聊天窗口的左下角廣告 如今的聊天窗口,除了右上角的圖片廣告外,左下角還多了一條文字廣告,既然要去廣告,那么這塊自然也不能遺忘。同樣操作針對XP、Win2003系統用戶和Vista、Windows7、Win2008而有所不同。 1)XP、Win2003系統用戶操作方法: 再次提醒您修改前首先要關閉QQ,然后進入X:\Documents and Settings\用戶名\Application Data\Tencent\Users\你的QQ號\QQ\(注意,X指的系統所在盤盤符,一般是C),刪除其中的Misc.db,接著新建一個文件夾并命名為Misc.db(是不是和防止U盤自動運行病毒的方法很像)。 2)Vista、Windows7、Win2008用戶的操作: 關閉QQ后,進入X:\users\用戶名\appdata\Roaming\Tencent\Users\你的QQ號碼\QQ\,然后操作同上。 搞定,如此一來,這幾個地方都沒廣告了吧! 好吧,打開一個標簽窗口如下圖所示,當然,你可以多點多開。 如果你正在使用這個程序,是否覺得它的功能太簡單了,點點右鍵,彈出的菜單中只能切換便箋的顏色,沒有其他基本的格式編輯功能。 其實,除了標準的 Ctrl 加 XCVA 的剪切/復制/粘貼/全選快捷鍵之外,其實便箋程序還有一些快捷鍵可以使用: 快捷鍵 功能 Ctrl+N 新建一張便箋 Ctrl+D 刪除當前便箋 Ctrl+E 居中對齊 Ctrl+R 右對齊 Ctrl+J 左對齊 Ctrl+I 斜體 Ctrl+B 粗體 Ctrl+U 下劃線 Ctrl+T 刪除線 Ctrl+Shift+> 加大選中文字的字號 Ctrl+Shift+< 縮小選中文字的字號 Ctrl+Shift+L 在文字前添加項目符號和編號(反復按可循環切換)。其中編號包括數字、大小寫字母、大小寫羅馬數字幾種形式。連按兩次回車可取消。 知道了這些快捷鍵,我們就可以做出一些滿足日常需要的格式了: 像 Windows 這種應用廣泛的軟件或硬件,由于全球數十億人都會使用到,因此一個小小的功能特性都可以對世界造成很大的影響。 想想看,如果所有人都利用好這個小程序而不去買便箋,往小了說是省錢,往大了說可是環保了,能節約很多制作便箋的自然資源消耗。
上傳時間: 2019-06-22
上傳用戶:yerbol
輸入整數n,生成1,2,3...n這n個數字任意排列組合的所有序列
上傳時間: 2020-10-18
上傳用戶:
國軍標 C/C++編程安全子集,用于指導軟件開發。
上傳時間: 2021-10-26
上傳用戶:
MICRO HDMI TF卡 USBTYPE-C USB-側立式 攝像頭FPC-24P OLED屏模塊AD集成庫(原理圖庫+3D封裝庫),).IntLib后綴文件,拆分后文件為PcbLib+SchLib格式,Altium Designer原理圖庫+PCB封裝庫,已驗證使用,可以直接應用到你的項目開發。器件列表:ANT-Rainsun-AP5120AZ1045-04F BSN20BKR N-Channel 60 V 2.8 Ohm 310 mW 0.49 nC Surface Mount Trench MosFet - SOT-23ButtonTACT_3x4x2_180ButtonCP2102 USB轉TTLESD-0402 ESDHDR2x4_2.54 HeaderLED_0402 LEDLM4871LP2992 LDOMIC Micro-HDMI Conn Micro HDMI RCP 19 POS 0.4mm Solder RA SMD 19 Terminal 1 Port Micro HDMI Embossed T/RNL27WZU04DF OLED-6432 顯示屏OV2640 Header, 24-PinQuantum-Quark-Core RJ45座 RJ45座RT9011 TF卡座 8腳自彈USB-Type-C-TOP USB-WiFi-ANTUSB-側立式 USB A Skt, Upright/Flag, R/A GF, W/kinked shell stake, tray電容-0402 Capacitor電容-0603 Capacitor電阻-0402 Resistor二極管-5B5817WS 40V晶振-4Pin-無源 2520無源選擇跳線 Resistor
上傳時間: 2022-01-09
上傳用戶:
資源較大,分為三個部分,已全部上傳:第一部分:https://dl.21ic.com/download/visual_c-431206.html 第二部分:https://dl.21ic.com/download/visual_c-431208.html 第三部分:https://dl.21ic.com/download/visual_c-431210.html C++語言是從C語言發展而來的一種面向對象的高級語言,而 Visual c++則是CC++IDE,即集成開發環境。本書從C十+基礎開始講解,由原理到實踐、由淺到深、全面地介紹了在Ⅵ sual c++環境下,如何利用C++語言編寫 Windows應用程序。本書分為4部分,包括33章。第1部分是vsua1C++編程入門介紹,介紹了 Windows編程的入門知和C++語言的一些基礎知識;第2部分是 saiC++分類應用程序編程介紹,包括 Windows應用編程和控制臺程序,以及在 Visual c++下如何編寫Win32程序、對話框程序、單文檔與多文檔程序、動態鏈接庫和 ActiveX控件程序;第3部分+十功能應用程序介紹,在本部分中,講解了VsuC++下最常見的操作編程,包括文件操作、系統時間、錯誤與異常處理、多線程技術、定時器、輸入輸出設備、串口編程、網絡編程、數Windows內存管理、程序調試以及網絡安全等;第4部分介紹了 Visua1C++的一些雜項編程,包括界面控制、0 ffice文件的讀寫操作、文件與文件夾、程序控制以及系統控制等。本書內容豐富、實用性強,許多代碼可以直接應用到工程項目中,它適合于 Visualc++60的初學者和使用 Visual c++從事開發的程序員使用,對于具有一定 Visual c+編程經驗的讀者,本書也是非常好的參考書
標簽: Visual C++
上傳時間: 2022-03-30
上傳用戶:wangshoupeng199
資源較大,分為三個部分,已全部上傳:第一部分:https://dl.21ic.com/download/visual_c-431206.html 第二部分:https://dl.21ic.com/download/visual_c-431208.html 第三部分:https://dl.21ic.com/download/visual_c-431210.html C++語言是從C語言發展而來的一種面向對象的高級語言,而 Visual c++則是C++IDE,即集成開發環境。本書從C艸基礎開始講解,由原理到實踐、由淺到深、全面地介紹了在 Visualc++環境下,如何利用C++語言編寫 Windows應用程序本書分為4部分,包括33章。第1部分是 Visual c++編程入門介紹,介紹了 Windows編程的入門知識和C++語言的一些基礎知識;第2部分是sua1C++分類應用程序編程介紹,包括Wnds應用編程和控制臺程序,以及在 Visualc++下如何編寫Wn32程序、對話框程序、單文檔與多文檔程序、動態鏈接庫和 ActiveX控件程序;第3部分是 Visua1C++功能應用程序介紹,在本部分中,講解了vsua1C++下最常見的操作編程,包括文件操作、數據處理、系統時間、錯誤與異常處理、多線程技術、定時器、輸入輸出設備、串口編程、網絡編程、數據庫編程、windows內存管理、程序調試以及網絡安全等;第4部分介紹了 visua1C++的一些雜項編程,包括界面控制、Office文件的讀寫操作、文件與文件夾、程序控制以及系統控制等。本書內容豐富、實用性強,許多代碼可以直接應用到工程項目中,它適合于 Visual C++6.0的初學者和使用vsua1C++從事開發的程序員使用,對于具有一定 Visualc++編程經驗的讀者,本書也是非常好的參考書。
標簽: Visual C++
上傳時間: 2022-03-30
上傳用戶:canderile