
C语言
小小蜗牛
这个作者很懒,什么都没留下…
展开
-
求矩阵中最大二维矩阵(元素和最大)
一、问题描述题目35. 求一个矩阵中最大的二维矩阵(元素和最大)如:1 2 0 3 42 3 4 5 11 1 5 3 0中最大的是:4 55 3要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码 二、算法分析解决此问题的方法比较简单:计算所有可能的二维矩阵元素和,选出其中最大的即可。详细方案:将原矩阵的数据保存在origin原创 2013-05-04 19:01:09 · 2642 阅读 · 0 评论 -
整数的二进制表示中1的个数
一、问题描述题目28:整数的二进制表示中1的个数输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 二、算法描述此问题比较基础,利用右移运算符就可以解决:以二进制表示的整数,可以通过判断它的奇偶性就可以确定它的最低位是否为1;然后右移一位,再判断它是否为1;直到这个数为零时可停止。 三、源代码#inc原创 2013-05-05 15:52:57 · 799 阅读 · 0 评论 -
二维数组与指针
一、实现一个display函数,能够打印输出数组中的元素输入:指向数组第一个元素的指针,数组的行数及列数输出:无该函数灵活之处在于我们可以对任意行任意列的数组进行打印,而不需要固定行数或列数;我们知道二维数组在函数参数传递的过程中,是需要确定列数的,该函数不需要固定列数。#include /***Function:display each element in a原创 2013-05-19 13:31:51 · 881 阅读 · 0 评论 -
查找两数之和等于给定值
第14题:题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。#include //假设此数组是按照升序排列void find_two_numb原创 2013-05-06 21:33:12 · 1108 阅读 · 0 评论 -
通过位运算实现加减法
这里实现这样一个算法:不使用加减乘除,只通过位运算,实现整型的加法。原理:异或运算也成为半加法,它本质上是不带进位的加法,而需要进位的位置可以通过与运算得出;将异或运算的结果与与运算后左移一位的结果重新相加;通过这样反复的相加过程,与运算的结果一定会在不超过32此加法后为零(假设int型占32个bit),这个就可以作为循环结束的条件。代码如下:#include int ad原创 2013-07-02 19:29:55 · 1470 阅读 · 0 评论 -
gcc编译常见问题
1. 查找不到某头文件原因一:自定义的头文件xx.h,但是使用如下:#include ,低级错误,应修改为: #include "xx.h"原因二:查找路径不正确参考http://blog.lehu.shu.edu.cn/byman/A255482.html中关于gcc查找文件的顺序描述;终端中输入如下命令:echo 'main(){}' | gcc -E -v -看到如下输出原创 2015-01-27 13:36:33 · 970 阅读 · 0 评论