C语言
Yongzhi Huang Jackie
这个作者很懒,什么都没留下…
展开
-
如何往char数组里输入带空格的字符串
如何往char数组里输入带空格的字符串输入的是 Zhenshen University 9 想要通过指针返回 University当用gets的时候,发现输入空格的时候还是会默认你已经输入完成了。所以,我就将代码改成int main(){ int in, num, i; string s; cin >> in; while (in--) {原创 2016-03-18 09:58:01 · 9130 阅读 · 1 评论 -
windows下mpi编程环境配置详解(非常详细)
如果成功了,请您顶一下!!!!!谢谢!!!!下载地址 下载链接 http://www-unix.mcs.anl.gov/mpi/mpich/downloads/mpich2-1.0.5p2-win32-ia32.msi这里是Windows MPI 最终下载页面的地址,但是不一定一直是https://www.microsoft.com/en-us/download/details.aspx?id=原创 2016-05-09 14:29:42 · 28688 阅读 · 3 评论 -
二维数组的动态内存分配与析构
int **pA=new int*[5]; for(int i=0;i<5;i++) pA[k] = new int[5];for(i=0;i<5;i++) delete []pA[i]; delete []pA;原创 2016-05-22 15:03:55 · 2218 阅读 · 0 评论 -
优化for循环效率
在程序非常大的时候,我们常常需要提高循环程序的使用效率原创 2016-05-22 15:25:32 · 1541 阅读 · 0 评论 -
逆向工程实验---二进制炸弹(CSAPP Project)
本实验设计为一个黑客拆解二进制炸弹的游戏。我们仅给黑客(同学)提供一个二进制可执行文件bomb和主函数所在的源程序bomb.c,不提供每个关卡的源代码。程序运行中有6个关卡(6个phase),每个关卡需要用户输入正确的字符串或数字才能通关,否则会引爆炸弹(打印出一条错误信息,并导致评分下降)!要求同学运用GDB调试工具和objdump反汇编工具,通过分析汇编代码,找到在每个phase程序段中,引导程原创 2016-05-22 14:54:15 · 10286 阅读 · 2 评论 -
CSAPP LAB---buflab-handout(缓冲区溢出实验)
LAB5基础准备:题目解析:首先阅读那长达11页的英文文档,获悉本实验为模拟缓冲区溢出。使用tar xvf命令解压文件后,会有3个可执行的二进制文件bufbomb,hex2raw,makecookie。bufbomb运行时会进入getbuf函数,其中通过调用Gets函数读取字符串。要求在已知缓冲区大小的情况下对输入的字符串进行定制完成特定溢出操作。getbuf函数如下所示:原创 2016-06-13 19:12:30 · 3614 阅读 · 1 评论 -
快速排序法 C++
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种原创 2016-09-16 23:05:54 · 556 阅读 · 0 评论 -
归并排序(C++实现)
归并排序是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。常见的归并排序有两路归并排序(Merge Sort),多相归并排序(Polyphase Merge Sort),Strand排序(Strand Sort)。下面介绍第一种:(一)两路归并排序最差时间复杂度:O(nlogn)平均时间复杂度:O(nlogn)最差空间复杂度:O(n)稳定性:稳定原创 2016-09-17 00:18:20 · 551 阅读 · 0 评论 -
插入排序(C++实现)
插入排序的基本思想是每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。常见的插入排序有插入排序(Insertion Sort),希尔排序(Shell Sort),二叉查找树排序(Tree Sort),图书馆排序(Library Sort),Patience排序(Patience Sort)。下面介绍前两种:(一)直接插入排序最差时间复原创 2016-09-17 00:20:21 · 409 阅读 · 0 评论 -
计算机系统
#include<iostream>using namespace std;/*/* * CS:APP Data Lab * * <Please put your name and userid here> * * bits.c - Source file with your solutions to the Lab. * This is the file原创 2016-05-09 19:47:24 · 1358 阅读 · 0 评论 -
桶排序
在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。首先出场的我们的主人公小哼,上面这个可爱的娃就是啦。期末考试完了老师要将同学们的分数按照从高到低排序。小哼的班上只有5个同学,这5个同学分别考了5分、3分原创 2016-05-09 01:17:12 · 2890 阅读 · 0 评论 -
C++ 如何定义动态二维数组?
今天遇到了一个简单的问题,怎么建立动态的二维数组,如何函数传递二维数组; 需要先申请一个M个元素的一维指针空间,然后对每个一维指针上,申请N个元素的对象空间。这样就可以申请一个M行N列的二维数组空间了。以整型为例 const int M = 10, N = 5;//10行5列。 int ** a; a = new int *[M]; for(int i = 0; i <原创 2016-03-07 15:40:18 · 6278 阅读 · 1 评论 -
C++怎么把字符串中的小写变为大写
一个简单的程序#include<iostream>#include<string>#include<cctype>using namespace std;int main(){string s("Hello World");cout << s << endl;for (auto c : s){c = toupper(c);cout << c;}return 0;}#in原创 2016-03-15 12:32:35 · 7768 阅读 · 0 评论 -
怎样用指针指向二维数组
int **P = Graph; **p 等价 Graph[0][0] *p 等价 Graph[0] *(p+n) 等价 Graph[n]*(*(p+n)+m) 等价 Graph[n][m]原创 2016-03-15 12:59:09 · 734 阅读 · 0 评论 -
MPI通信——点对点通信
一对进程之间的数据转换,也就是说一边发送数据另一边接收数据,点到点通信是MPI通信机制的基础,它分为同步通信和异步通信二种机制。阻塞式函数1. int MPI_send(void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Comm comm)IN buf 所要发送消息数原创 2016-05-27 08:38:05 · 2411 阅读 · 0 评论 -
MPI编程--使用最简单的基本函数计算PI值
通过数值分析,我们知道PI 的计算方式,#include#include#include#pragma comment(lib,"mpi.lib")#define N 1000000000int main(int argc, char **argv){ double local = 0, pi, w, temp; int i, rank, size,k;原创 2016-05-27 08:46:37 · 4828 阅读 · 1 评论 -
MPI实现矩阵乘法程序--实现MPI传递连续数组
怎么样用用MPI编写两个n阶的方阵A和B的相乘程序,结果存放在方阵C中,A、B和C都在节点0中呢?//#include//#include//#pragma comment(lib,"mpi.lib")#include#include#include #include#pragma comment(lib,"mpi.lib")#define n 1000using n原创 2016-05-27 08:33:12 · 7164 阅读 · 2 评论 -
IEEE浮点数表示--规格化/非规格化/无穷大/NaN
1.浮点数的表示 符号位S:1位 阶码(指数位) :8位 尾数:————- 23 位 (尾数是原本的二进制数,因为浮点计数,有点像科学计数法的x.xxxx*(10^y),头一位一定是1,所以把1舍去了,比如 1.010101*(2^5),存起来就是:0 //5-127//0101010….00 )计算方式:N=(-1)^S * 1.尾数 * 2^(指数-127)2.原创 2016-04-20 10:21:18 · 3488 阅读 · 0 评论 -
一个关于类数组中如何使用new
今天遇到一个问题,直接上代码// 我要申请一个类的数组class Acount{ Account() ; Account(string , string , float ) ; static float GetInterestRate(float );};int main(){//中间省略//我是这样写的int t;Account *p;原创 2016-04-22 23:52:11 · 3517 阅读 · 0 评论 -
Strassen矩阵乘法(分治法续)
矩阵乘法-1矩阵乘法的定义矩阵乘法,A*B=C,其中:那么乘法的定义呢??A矩阵的一行与B矩阵的一列点乘和为C的一个元素。用图形表示是最直观的,其定义就如下图:-2基本矩阵乘法那么由上面图中的公式,我们很容易得到基本矩阵相乘的伪代码:for i = 1 to col // row for j = 1 to row // col tmp =原创 2016-12-22 23:39:35 · 905 阅读 · 0 评论