原创 婚約數,C語言

問題描述: 婚約數指兩個正整數中,彼此除了1和本身的其餘所有約數的和與另一方相等,例如(48,75)。 48 除1和本身所有約數相加是:2+3+4+6+8+12+16+24=75 75 除1和本身所有約數相加是:3+5+15+

原创 十六進制轉十進制,C語言

問題描述:輸入一個十六進制的字符串,輸出其對應的十進制整數 編譯環境:vc++6.0 代碼: #include <stdio.h> #include <stdlib.h> #include <math.h> /*輸入一個十六進

原创 鏈式隊列的基本操作C語言詳解

鏈式隊列有帶頭結點,和不帶頭結點的,我這裏是帶頭結點的。 邏輯結構如圖 編譯環境vc6.0,代碼如下: /* 首元結點是指鏈表中存儲線性表中第一個數據元素的結點。 初始化:隊頭指針和隊尾指針都指向頭結點(不是首元結點) 隊滿狀態

原创 求某年某月某日,是當年的第幾天,C語言

編譯環境:vc++6.0 代碼: #include <stdio.h> #include <stdlib.h> #define leapYear(years) (years%4==0&&years%100!=0||years%40

原创 十進制轉化爲十六進制,C語言

問題描述:輸入一個十進制整數(可能大於15),轉化爲十六進制輸出 解決方法:除16取餘數倒排,取餘結果放入到str1,倒排結果放入到str2 編譯環境:vc++6.0 代碼: #include <stdio.h> /*輸入一個十

原创 C語言,四則運算簡易計算器。

問題描述:輸入一個不含括號的四則運算表達式,輸出計算結果。 方法:四則運算只有兩種優先級,在輸入兩步計算(三個操作數)之後一定能得到一個結果。如1-2*3,無論3後的操作符是什麼,2*3都可以先計算。則1-2*3=1-6,繼續讀取

原创 用迭代公式求x的立方根

問題描述: 編譯環境:vc++6.0 代碼: #include <stdio.h> #include <math.h> int main() { double num, x0, x1; printf("請輸入x的值\n");

原创 循環隊列基本操作C語言詳解

循環隊列:把頭尾相接的順序存儲結構稱爲循環隊列 邏輯結構如圖: 編譯環境vc6.0,代碼如下: /* 保留一個空間來區分隊空和隊滿 隊滿時:(Q.rear+1)%MaxSize==Q.front 初始時(隊空):Q.front=Q

原创 二叉樹的基本操作C語言詳解

1、鏈表結構代碼 typedef struct Node { char data; //數據域 struct Node* Lchild, * Rchild; //左右孩子指針 }BTNode,*BTree;

原创 循環雙鏈表的基本操作C語言詳解

1. 尾指針:不是尾結點的指針,是指向尾結點的指針 2. 頭指針:不是頭結點的指針,是指向頭結點的指針,無論鏈表是否爲空,頭指針均不爲空。 3. 頭結點:放在第一個結點之前的結點(“零結點”),數據域可以不存放東西,也可以存放鏈表

原创 圖的DFS(深度優先搜索)C語言

實現如圖的DFS(鄰接矩陣) 核心代碼 //********************深度優先的遞歸算法******************** void DFS(MGraph G, int i) { int j; visit

原创 遞歸折半查找

C語言 編譯環境:vc6.0 /* 折半查找是對有序序列的查找 */ #include <stdio.h> #include <stdlib.h> int Binary_Search(int a[], int key, int

原创 猴子喫桃問題,每天喫掉前一天的一半零一個桃,C語言

問題描述:*猴子喫桃問題,每天喫掉前一天的一半零一個桃 第10天發現只剩下一個桃子,請問第一天摘了多少個桃子 * 方法:從第十天回推到第一天,設某一天的桃子數是x,則他前一天的桃子數爲(x+1)*2; 編譯環境:vc++6.0 #

原创 求數列1/2,2/3,3/5,5/8,8/13,13/21的前N項的和

編譯環境:vc++6.0 代碼: #include <stdio.h> #define N 20 int main() { float a = 1, b = 2, sum = 0.0; for (int i = 0; i <

原创 C語言順序表的12個基本操作(增刪改查等)

參考嚴蔚敏數據結構 編譯環境:vc++6.0 1. 順序表:順序表是在計算機內存中以數組的形式保存的線性表。 2. 頭指針:不是頭結點的指針,是指向頭結點的指針,無論鏈表是否爲空,頭指針均不爲空。 3. 頭結點:放在第一個結點之