- 博客(8)
- 收藏
- 关注
原创 模拟实现字符串函数
模拟实现strcpychar* my_strcpy(char* dst, const char*src){ assert(dst != NULL); assert(src != NULL); char *ret = dst; while (*dst = *src) { dst++, src++; } return ret;}int main(){ char buf[32...
2018-05-28 22:53:41 125
原创 自定义类型
结构体1.定义:结构体是一些值的集合,这些值称为成员变量,每个成员可以是不同类型的变量。(是聚合类型)2.结构体的声明:struct tag{ member-list;}variable-list;c中结构体不能为空(即成员变量不能省略)c中结构体关键字不能省略tag(标签)的注意:见名知义;可以省略;(匿名结构体)不建议省略。此处的variavle-list(变量名)建议省略,在使用...
2018-05-28 11:07:59 525
原创 冒泡排序
思路:有n个元素,需要冒n-1次泡,就如有两个元素,只需冒一次泡就可以比较出大小,而且每冒一次泡就能找到一个最大值每轮冒泡少一个元素每次冒泡,两两交换,大数往后放(假设是升序排列)数组冒泡:#include<stdio.h>#include<assert.h>#include<Windows.h>void bubble_sort(int arr[], i...
2018-05-16 21:09:39 118
原创 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个假话
方法1: 解题思路: 假设0是凶手,1是清白者 有一个人说的是假话,则可以分四种情况: A假: A=1,C=1,D=1,D=0,D矛盾,所以A真; B假: A=0;C=0;D=1;D=0;同理,D为真; C假: A=0; C=1;D=0;D=0;可断定C是凶手; D假: A=0;C=1;D=1;D=1;与只有一个凶手是矛盾的 代码如下:#include <std...
2018-05-16 14:44:24 1143
原创 编写一个函数实现n^k,使用递归实现
先考虑k=0和k=1的情况,然后找准递归出口#include<stdio.h>#include<Windows.h>int power_fun(int n, int k){ if (k ==0) //注意这儿不是K=0;是要进行比较而不是赋值 { return 1; } else if (k==1) { return n; } else...
2018-05-12 20:19:29 148
原创 函数的调用过程(栈帧)
1.栈: 特点:(1)先进后出; (2)有栈顶(esp)也有栈底(ebp); (3)入栈:push 出栈:pop #include&amp;amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;amp;gt;int myAdd(int x,int y){ int z=x+y; return z;}
2018-05-11 12:07:41 347
原创 对数组初始化,清空,逆置
#include <stdio.h>#include <assert.h>#include <Windows.h>void initArray(int a[], int size){ assert(a);//断言 int i = 0; for (; i < size; i++) { a[i] = i; printf("%d ",...
2018-05-05 15:46:14 140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人