原创 No.25 經典筆試題(二):模擬實現strcpy,strcat,strcmp,strstr,memcpy

直接上代碼: 1. //模擬實現strcpy #include <stdio.h> #include <assert.h> char* my_strcpy(char* dest, const char* src) { char*

原创 No.23 經典筆試題:用宏來計算偏移量,判斷大小端(聯合體法,指針法)

寫一個宏,計算結構體中某變量相對於首地址的偏移,並給出說明 判斷大小端 代碼1: //寫一個宏,計算結構體中某變量相對於首地址的偏移,並給出說明 //定義的這個宏將結構體裏邊的變量的地址取出後再強轉成char型,然後進行相減。 /

原创 No.22 我與代碼的日常:逆轉數字,找單獨出現的數,逆轉整個字符串

學習不易,需要堅持 1.編寫函數: unsigned int reverse_bit(unsigned int value); 這個函數的返回值value的二進制位模式從左到右翻轉後的值。 如: 在32位機器上25這個值包含下列各位

原创 No.24 我與代碼的日常:C語言實現簡易通訊錄

#define SIZE 1000 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <string.h> typedef struct PersonInf

原创 No.19 我與代碼的日常:斐波那契數列,某數k次冪,模擬實現strlen(),階乘 ,逆置字符串(遞歸和非遞歸)

學習不易,需要堅持。 遞歸 程序調用自身的編程技巧稱爲遞歸( recursion)。遞歸做爲一種算法在程序設計語言中廣泛應用。 一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型複雜的問題層層轉化爲一個與原

原创 No.21 我與代碼的日常:打印楊輝三角前10行

學習不易,需要堅持。 //打印楊輝三角前10行 #define N 10 #include <stdio.h> void Print() { int a[N][N] = {0} ; int i = 0 ; int j = 0

原创 No.20 我與代碼的日常:求二進制1的個數,二進制奇偶位,輸出整數每一位,兩個數二進制中不同位的位數

學習不易,需要堅持。 寫一個函數返回參數二進制中 1 的個數 比如: 15 0000 1111 4 個 1 程序原型: int count_one_bits(unsigned int value) { /

原创 No.18 代碼練習:打印乘法口訣,交換變量值,判斷閏年,數組操作

學習不易,需要堅持。 1.實現一個函數,打印乘法口訣表,口訣表的行數和列數自己指定, 輸入5,輸出55口訣表,輸入,輸出99的乘法口訣表。 2.使用函數實現兩個數的交換。 3.實現一個函數判斷year是不是潤年。 4.創建一個數組,實

原创 No.17 清除scanf()函數的緩衝區

scanf()是C語言中一個重要的輸入函數。但是在使用不當時會給程序帶來很大的漏洞。在這裏,我想就scanf()的緩衝區問題做一簡單的論述。 首先,先看以下代碼: #include <stdio.h> int main() { i

原创 No.16 代碼練習

學習不易,需要堅持。 1.寫代碼可以在整型有序數組中查找想要的數字, 找到了返回下標,找不到返回-1.(折半查找) 2.編寫代碼模擬三次密碼輸入的場景。 最多能輸入三次密碼,密碼正確,提示“登錄成功”,密碼錯誤, 可以重新輸入,最多輸

原创 No.13 代碼練習

學習不易,需要堅持 1.交換兩個變量值 2.求10個整數的最大值 3.將三個數從大到小輸出 4.求兩個數的最大公約數最小公倍數 //交換兩個數字的值(常規方法,藉助中間變量來交換) #include <stdio.h> voi

原创 No.14 代碼練習

學習不易,不要堅持 將數組A中的內容和數組B中的內容進行交換。(數組一樣大) 計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。 編寫程序數一下 1到 100 的所有整數中出現多少次數字9。 1

原创 No.15 代碼練習

學習不易,需要堅持 1.在屏幕上輸出一個菱形。 2.求出0~999之間的所有“水仙花數”並輸出。 /* 在數論中,水仙花數(Narcissistic number)也稱爲自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong n

原创 No.12 代碼練習

學習不易,需要堅持。 1.有一個數組,編程調整使其奇數位於偶數之前。 解題思路:可以通過數組下標left和right來遍歷整個數組,使用while循環,將複合要求的元素藉助中間變量tmp進行交換。代碼如下: //調整數組。使奇數位於偶

原创 No.11 代碼練習

學習不易,需要堅持 1.打印100到200之間的素數 //打印100-200之間的素數 #include <stdio.h> void Find_prime() { int i = 0 ; int j = 0 ; int c