原创 幾種基本排序的實現:選擇排序,冒泡排序,插入排序,堆排序,快速排序,歸併排序

//冒泡排序 #include <stdio.h> // 交換函數 void swap (int a[], int i, int j) {int tmp = a[i];a[i] = a[j];a[j] = tmp; } // 打印數組

原创 字符串和指針的學習

今天學習了字符串和指針,通過下面這道題來鞏固今天所學  編寫一個C函數,將”I am from shanghai ”倒置爲”shanghai from am I”,及將句子中的單詞位置倒置,而不改變單詞內部結構. 分析:先將整個字符串逆

原创 用遞歸函數實現十進制轉換爲十六進制輸出

   遞歸函數的定義,不應出現無終止的遞歸調用。而應定義爲有限次數、有終止的遞歸調用函數。       對於一個問題,只要能夠知道遞歸定義式,及邊界

原创 判斷一字符串是否爲迴文,是返回1,不是返回0,出錯返回-1

#include <stdio.h> int fun(char *p) {if (p == NULL)return -1;char *pstart = p;char *pend   = p;while (*pend){pend++;}p

原创 鏈表的創建與輸出

創建兩個學生鏈表,含有姓名,年齡的信息,一個鏈表存放男生,一個鏈表存放女生 並且合併這兩個鏈表。 #include <stdio.h> #include <stdlib.h> #define LEN sizeof (struct st

原创 藍橋杯李白醉酒問題

題目:“李白街上走,提壺去買酒,遇店加一倍,見花喝一斗”,途中,遇見5次店,見了10此花,壺中原有2斗酒,最後剛好喝完酒,要求最後遇見的是花,求可能的情況有多少種? 分析:這道題可通過遞歸函數來實現。 #include <stdio.h>

原创 二叉樹的創建,插入,刪除,輸出,求高度,求度以及三種遍歷方式實現

#ifndef __BTREE_H__ #define __BTREE_H__ #define BLEFT  0    // 表示插入二叉樹的左邊

原创 寫一個程序判斷當前系統存儲模式是大端還是小端

大端模式:字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中。小端模式:字數據的高字節存儲在高地址中,而字數據的低字節則存放在低地址中。

原创 用鏈表實現的通訊錄的功能

要求:製作一個電子通訊錄,通過該通訊錄能存入好友 ID 號、 姓名) (英文)、 手機號碼、家庭住址、公司電話 模塊 主界面:主要顯示軟件功能。 1. 添加好友信息。 2. 列表好友信息。(包含排序功能) 3. 搜索好友 4. 刪除好友

原创 順序表的創建,插入,刪除,查找,逆序以及合併兩個有序的順序表

SeqList.h文件: #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #define FALSE  -1 #define TRUE    0 #define INIT_SIZE     100

原创 順序隊列的基本操作

#ifndef __SQQUEUE_H__ #define __SQQUEUE_H__ #include "error.h" #define TRU

原创 網絡編程項目:linux下基於C/S架構的聊天室

一、項目要求: 1. 採用 Client/Server 架構  2. Client A 登陸聊天服務器前,需要註冊自己的 ID 和密碼  3. 註冊成功後,Client A 就可以通過自己的 ID 和密碼登陸聊天服務器  4. 多個 Cl

原创 用棧和隊列實現的停車場管理系統

停車場管理 問題描述:停車場是一個能放 n 輛車的狹長通道,只有一個大門,汽車按到達 的先後次序停放。若車場滿了,車要停在門外的便道上等候,一旦有車走,則便 道上第一輛車進入。當停車場中的車離開時,由於通道窄,在它後面的車要先退 出,待它

原创 Linux環境和Windows環境下一個表達式多項自增或自減運算結果的不同

今天通過測試發現在兩種不同環境下表達式y = (++x) + (x++) + (++x)運算結果不同,例如: #include<stdio.h> int main() { int   x = 8; int   y; y =  (++x)

原创 寫一個函數,從一個字符串查找另一個字符串的位置

#include <stdio.h> int find_where(char *str1, char *str2) { int count = 0; while(*str1) { if(*str1 == *str2) {