自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桔子

每件事都有它自然发生的时间

  • 博客(27)
  • 收藏
  • 关注

原创 调整数组使奇数全部都位于偶数前面

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。 #include <stdio.h>#include <windows.h>void fun(int arr[],int sz){ int *left = arr; int *right = &arr[sz-1]; while (left<right

2017-10-31 22:17:44 273

原创 常见的内存错误及对策

以下内容总结(部分摘抄)于 陈正冲《C语言深度剖析》第五章1.指针没有指向一块合法的内存定义了指针变量,但是没有为指针变量分配内存。1.1结构体成员指针未初始化eg:struct student{ char *name; int score;}stu,*pstu;int main(){ strcpy(stu.name,"Tom"); stu.score=90;

2017-10-30 16:23:13 295

原创 关于大小端的简单介绍以及使用C写一个函数判断当前系统是大端存储还是小端存储

大端模式: 字数据的高字节存储在低地址中,而字数据的低字节存储在高地址中。 小端模式: 字数据的低字节存储在低地址中,而字数据的高字节存储在高地址中。 如图: 用C写一个函数判断当前系统的存储模式#include <stdio.h>#include <windows.h>int endian(){ int i = 1; char *p = (char *)&i;

2017-10-25 21:53:41 1927

原创 小游戏:三子棋

#include <stdio.h>#include <Windows.h>#define row 3#define list 3void init_board(char board[row][list]){ memset(board,' ',row*list*sizeof(char));}void display_board(char board[row][list])//保留

2017-10-23 17:22:32 508

原创 小游戏:扫雷 (C语言实现扫雷的基本功能)

该程序分为三个文件: 1.game.h :包含头文件的引用、函数的声明和宏定义 2.game.c :包含各功能函数的具体实现 3.test.c :各功能函数的调用(程序的流程)功能介绍: 1.初始化雷盘 2.打印雷盘 3.随机设置雷的分布 4.统计坐标位置周围的雷数 5.扩展式排雷 6.给所选坐标位置做标记 7.取消标记 8.第一次排雷不会被炸死读者可以自己额外增加新功能,比如

2017-10-23 17:09:42 2390

原创 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。

#include <stdio.h>#include <windows.h>void int_to_char(int num){ if (num == 0) printf("%c",48); else if ((num /= 10) != 0) { int_to_char(num); printf("%c", num %

2017-10-19 18:51:59 8384

原创 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串

#include <stdio.h>#include <windows.h>void reverse(char arr[],int sz){ int i = 0; char tmp = ' '; for (i = 0; i < sz/2; i++) { tmp = arr[i]; arr[i]=arr[sz - i - 1];

2017-10-19 15:20:33 7647

原创 写一个函数,输入一行字符,将此字符串中最长的单词输出。

#include <stdio.h>#include <windows.h>void put_longest_string(char *p){ char *p1 = p; char *p2 = p; char *ret = p; int count1 = 0; int count2 = 0; while (*p2!='\0') {

2017-10-19 15:00:42 6039

原创 在杨氏矩阵中找数字,存在返回下标,不存在返回“不存在”,杨氏矩阵:每行每列的数字都是递增排序的

#include <stdio.h>#include <windows.h>void search_number(int arr[][4],int num){ int i = 0; int j = 3; int count = 0; while (i<=3&&j>=0) { if (num == arr[i][j]) {

2017-10-19 12:51:52 213

原创 编写一个程序,将两个字符串s1和s2比较,如果s1 > s2,输出一个正数;s1 = s2,输出0,;s1 < s2输出一个负数。不要使用strcmp函数。

两个字符串用gets函数读入。输出的正数或者负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如“A”与“C”相比,由于“A” < “C”,应该输出负数,由于“A”与”C”的ASCII嘛差值为2,因此应该输出“-2”。同理:“And”和“Aid”比较,根据第二个字符比较的结果,”n”比”i”大5,因此输出5#include <stdio.h>#include <windows.h>

2017-10-17 20:56:09 23450

原创 数组的特性:一维数组

数组总是和指针密切相关 1.数组的赋值方法(4种): (1)初始化法: eg: int arr[]={1,2,3,4,5}; (2)strcpy法: eg: int arr[5]; strcpy(arr,”abcdef”); (3)for循环法: eg: int arr[5]; for(int i=0;i<5;i++) s

2017-10-16 16:56:23 1036

原创 在屏幕上打印杨辉三角

#include <stdio.h>#include <windows.h>//杨辉三角的每个数等于多项式的系数:C(n,m)//C(n,m)=n!/(m!*(n-m)!)int factorial(int num)//阶乘{ int tmp = 1; if (num==0) return tmp; else { int i =

2017-10-16 16:10:26 341

原创 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果

A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。(不考虑并列的情况)#include <stdio.h>#include <windows.h>int fun(int arr[])//判断数组内的值是否有重复的{ int i =

2017-10-16 14:51:14 276

原创 两个乒乓球队进行比赛,各出三人。甲队为A、B、C 3人,乙队为X、Y、Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Y比,请编程序找出3三队选手的对阵名单

int main(){ char A = 0; char B = 0; char C = 0; for (A = 'x'; A <= 'z'; A++) for (B = 'x'; B <= 'z'; B++) for (C = 'x'; C <= 'z'; C++) { if ((A != 'x') && (C != 'x'

2017-10-15 17:13:52 1923

原创 编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,3

一个数如果恰好等于它的因数之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。 因子就是所有可以整除这个数的数,不包括这个数自身,6是第一个完数,28是第二个完数,496是第三个完数。#include <stdio.h>#include <windows.h>int main(){ int i = 0; int j = 0; in

2017-10-15 16:17:18 13875 12

原创 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

#include <stdio.h>#include <windows.h>int main(){ int i=0; int length=0;//字符串长 int num1 = 0;//字母 int num2 = 0;//数字 int num3 = 0;//空格 int num4 = 0;//其他字符 char c=' '; c

2017-10-15 15:45:44 1346

原创 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。

#define _CRT_SECURE_NO_WARNINGS -1#include <stdio.h>#include <windows.h>int fun(){ int A = 0; int B = 0; int C = 0; int D = 0; printf("请从A、B、C、D中选择凶手:\n"); char ch = ' ';

2017-10-15 11:40:30 491

原创 个人总结操作符的特性,包括:按位操作符、位移操作符和单目操作符中的sizeof

按位操作符1. 按位与 |个人理解,与数学中的交集 ∩ 相似特性1.遇1不变,遇0为0 两个bit位a,b a=1,b=1 a&b=1; a=1,b=0 a&b=0; a=0,b=0 a&b=0; 举例说明: 10的二进制为:00001010; 5的二进制为:00000101; 10&5:

2017-10-13 19:44:59 489

原创 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同

#define _CRT_SECURE_NO_WARNINGS -1#include <stdio.h>#include <windows.h>void fun1(int value1,int value2){ int count = 0; int num = 0; while (num<32) { if ((value1 & 1) != (va

2017-10-12 21:09:14 269

原创 输出一个整数的每一位

#define _CRT_SECURE_NO_WARNINGS -1#include <stdio.h>#include <windows.h>void fun(int value){ while (value) { printf("%d\n",value % 10); value = value / 10; }}int main()

2017-10-12 20:54:08 424

原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列

#define _CRT_SECURE_NO_WARNINGS -1#include <stdio.h>#include <windows.h>int count_one_bits(unsigned int value)// 返回 1的位数{ int count = 0; while (value) { value = value&(value - 1)

2017-10-12 20:46:50 855

原创 《剑指offer》--015--二进制中1的个数

《剑指offer》–目录索引题目: 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。 例如:把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。思路: 一般算法:很简单地会想到将二进制中的每一位和1做按位与&运算,就能得到二进制中1的个数; 进阶算法:首先,有个规律:“一个数持续循环地与它本身减一做按位与运算,循环次数就是二进制中

2017-10-12 20:12:25 373

原创 如何将自己代码的核心部分对用户“隐藏”起来,使用导入静态库。

当我们写完一个程序或者说是做完一个软件之后,想要卖出去,那么我们就不能让用户看到我们的软件功能核心部分的源码,不然会编程的用户或者有程序员的公司就可以根据我们的源码对软件进行修改,那还有谁会再买我们的软件?那么如何将源码隐藏呢?很简单,使用导入静态库就可以了。用一个很简单的程序做例子解释,如图:这个程序有三个文件,fun.h ,fun.c ,test.c fun.c 的功能是实现两个整形变

2017-10-09 21:04:39 1257

原创 自己模拟strcmp库函数写的功能函数my_strcmp实现strcmp的功能,完整代码

#include <stdio.h>#include <string.h>#include <windows.h>#include <assert.h>int my_strcmp(const char* pdest,const char* psrc){ assert(pdest!=NULL); assert(psrc != NULL); while (0 == (*p

2017-10-06 17:24:02 2345

原创 自己模拟strlen库函数写的功能函数my_strlen实现strlen的功能,完整代码

#include <stdio.h>#include <string.h>#include <windows.h>#include <assert.h>int my_strlen(const char *p){ int num = 0; assert(p!=NULL); while (*p++ != '\0') num++; return num

2017-10-05 17:28:42 805

原创 自己模拟strcat库函数写的功能函数my_strcat实现strcat的功能,完整代码

#include <stdio.h>#include <string.h>#include <windows.h>#include <assert.h>char *my_strcat(char *pdest,const char *psrc){ char *ret = pdest; assert(pdest!=NULL); assert(psrc != NULL);

2017-10-05 09:51:07 2056

原创 自己模拟strcpy库函数写的功能函数my_strcpy实现strcpy的功能,完整代码

#include <string.h>#include <stdio.h>#include <windows.h>#include <assert.h>char * my_srecpy(char *pdest,const char *psrc){ char *ret = pdest; assert(pdest!=NULL); assert(psrc != NULL)

2017-10-04 20:39:56 1246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除