- 博客(105)
- 资源 (6)
- 收藏
- 关注
原创 在一个数组中查找两个重复出现两次的数
题目如下:现有一个数组长度为n+1,里面存放有1到n-2,顺序不定,其中有两个数字出现了两次,现在要找出那两个数字。例子A={2, 3, 1, 4, 5, 2, 4},这个数组长度为7,存放了1到5,但2和4出现了两次,程序输出2和4。方法1 蛮力查找主要思想:对于数组中的第i个数,查找i+1到末尾的所有整数,一个数如果出现了两次就可以在第一次后面找到第二次出现的数。时间复杂度 O(n^2)...
2018-03-14 17:08:08
8481
1
原创 图像旋转90度
#include #include //因为在 BITMAPFILEHEADER 结构体中 bfType 为2字节,为防止字节对齐为4字节,故强制使用2字节对齐。//详情请搜索 内存对齐#pragma pack (2)//C编译器将按照2个字节对齐 typedef unsigned long DWORD;typedef unsigned char BYTE
2017-11-18 18:46:44
963
原创 printf()输出结果
printf("123\n","456\n","789\n");的输出结果:123printf("123\n" "456\n" "789\n");的输出结果:123 456 789
2017-11-04 21:22:15
1385
原创 矩阵元素排序
算法描述:一个N*N的矩阵,调整其数据位置,让其每个位置的值大于等于右值,且大于等于下值(边界除外)#include using namespace std;#define N 3int i, j;void func(int array[][N], int n){ int array_temp[N*N]; int k = 0, temp; //二维数组转换为一维数组 f
2017-11-04 21:08:31
1237
原创 C++中产生1~100的随机数
int GetRandomNumber(){ int RandomNumber; srand((unsigned)time(NULL));//time()用系统时间初始化种。为rand()生成不同的随机种子。 RanddomNumber = rand() % 100 + 1;//生成1~100随机数 return RandomNumber;}
2017-11-04 20:31:43
58217
3
原创 类型提升
Q:unsigned a = 8;int b = -18;(转换为unsigned为2^32-18)int c = 0;unsigned d = 0;c = a + b;d = a + b;A:c = -10d = 一个很大的值(2^32-10,32位系统)类型提升,unsigned > int
2017-10-30 18:53:36
278
原创 什么是内存泄漏?野指针?悬挂指针?空指针异常?
1.Q:什么是内存泄漏?A:用动态存储分配函数动态开辟的控件,在使用完毕后没有释放,结果导致一直占据该内存单元,直到程序结束,称为内存泄漏。2.Q:什么是野指针?A:指指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为NULL避免,而只能通过养成良好的编程习惯尽力减少。成因:(1)指针变量没有初始化(2)指针被free/de
2017-10-30 18:32:05
1635
原创 函数指针作函数参数/用函数指针调用函数
1.函数指针作函数参数search_list(Node *node, void const *value, int (*compare)(void const *, void const *)){ if(compare(&Node->value,value) == 0) break;}2.用函数指针调用函数int (*p)(int, int);//定义p是一个
2017-09-23 16:54:57
1031
原创 Fibonacci数列问题
算法描述:用数组来处理求Fibonacci数列问题(前20项)#include int main() { int i; int f[20] = {1, 1}; for(i = 2; i < 20; i++) f[i] = f[i - 2] + f[i - 1]; for(i = 0; i < 20; i++) { if(i % 5 == 0) printf(
2017-09-23 15:05:20
362
原创 二维数组与数组指针关系
算法描述:有一个半,3个学生,各学4门课,计算总平均分以及第n个学生的成绩#include int main() { void average(float *p, int n); void search(float (*p)[4], int n); float score[3][4] = {{65, 67, 70, 60}, {80, 87, 90, 81}, {90, 99
2017-09-23 14:56:00
497
原创 学生成绩最高分/最低分/平均分
#include float Max = 0, Min = 0;int main() { float average(float array[], int n); float ave, score[10]; int i; for(i = 0; i < 10; i++) scanf("%f",&score[i]); ave = average(score, 10); pri
2017-09-23 14:24:08
5430
原创 输出图案
#include int main() { int i, j, k; for(i = 0; i <= 3; i++) { for(j = 0; j <= 2 - i; j++) printf(" "); for(k = 0; k <= 2 * i; k++) printf("*"); printf("\n"); } for(i = 0; i <= 2
2017-09-23 14:08:30
629
原创 分数序列
#include int main() { int i, t, n = 20; float a = 2, b = 1, s =0; for(i = 1; i <= n; i++) { s = s + a/b; t = a; a = a + b; b = t; } printf("sum = %9.6f\n", s);//输出共占9列,其中有6位小数,若数值
2017-09-23 11:25:09
705
1
原创 字符串复制
#include #include int main() { char s1[80], s2[80]; int i; printf("input s2:"); scanf("%s", s2); for(i = 0; i <= strlen(s2); i++) s1[i] = s2[i]; printf("s1:%s\n", s1); return 0; }
2017-09-23 11:11:17
359
原创 将两个字符串连接起来,不要用strcat
#include int main() { char s1[80], s2[40]; int i = 0, j = 0; printf("\ninput string1:"); scanf("%s", s1); printf("\ninput string2:"); scanf("%s", s2); while(s1[i] != '\0') i++; while
2017-09-23 10:46:41
2999
1
原创 统计英文字母、空格、数字和其他字符的个数
#include int main() { char c; int letters = 0, space = 0, digit = 0, other = 0; printf("请输入一行字符:\n"); while((c = getchar())!='\n') { if (c >= 'a' && c = 'A' && c <= 'Z') letters++;
2017-09-23 10:17:31
5173
原创 数字转星期
#include int main() { //char w; //scanf("%c",&w); int w; scanf("%d",&w); switch(w) { /*case '1':printf("Monday\n");break; case '2':printf("Tuesday\n");break; case '3':printf("Wednesda
2017-09-23 09:57:06
733
原创 2或3个整数按从小到大排序并输出
问题1:由键盘输入x,y两个数,要求从小到大排序并输出#include int main() { float x, y, t; scanf("%f%f", &x, &y); if (x < y) { t = x; x = y; y = t; } printf("%6.2f, %6.2f", x, y);//占6列,有2位小数,左端补空格。小数点也占一列
2017-07-29 14:10:17
1419
原创 数字字符转换为整数
算法描述:为下面这个函数原型编写函数定义:int ascii_to_integer(char *string);这个字符串参数必须包含一个或多个数字,函数应该把这些数字字符转换为整数并返回整数。如果字符串参数包含了任何非数字字符,函数返回0。请不必担心算术溢出。算法实现:int ascii_to_integer(char *string){ int value = 0;
2017-07-29 10:42:27
1399
原创 用迭代方法计算n的阶乘
#include int main() { int val, i, mult = 1; printf("val = "); scanf("%d", &val); for (i = 1; i <= val; ++i) mult = mult * i; printf("%d的阶乘是:%d\n", val, mult); return 0; }
2017-07-29 10:25:46
9267
原创 求1+2+3+...+100
#include int main() { int sum = 0; for (int i = 1; i <= 100; i++) sum = sum + i; printf("%d\n", sum); return 0; }
2017-07-29 10:20:46
787
原创 字符串替换
算法描述:函数replace()实现将old中所有出现sub处替换为rpl子串,其余不变,最终替换结果存入news中。例如,old为“uvwabuv uvuvwx uvxw”,sub为“uvw”,rpl为“abcd”,new的结果为“abcdabuv uvabcdx uvxw”。算法实现:void replace(char *old, char *sub, char *rpl, char
2017-07-10 19:09:00
968
原创 opencv导入txt数据,画两幅图像的匹配点(像素精度)
#include using namespace cv;//-----------------------画匹配线---------------------------static Scalar randomColor(RNG& rng){ int icolor = (unsigned)rng; return Scalar(icolor&255, (icolor>>8)&255, (
2017-07-10 10:49:37
1075
原创 《C和指针》6.18.2删除子字符串
#include #define NUL '\0'#define TRUE 1#define FALSE 0/*C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。bool类型有只有两个值:true =1 、false=0。但是,C99标准里面,又定义了bool类型变量。这时,只要引入头文件 ,就能在C语言里面正常使用bool类型。
2017-06-03 17:41:14
449
原创 《C和指针》6.18.1匹配字符
#include char *find_char(char const*source, char const *chars){ char *p_chars; if (source == NULL || chars == NULL || source == "" || chars == "") return NULL; for (; *source != '\0'; source++)
2017-06-03 17:02:50
409
原创 const, static, extern, volatile的主要用法
const的用法:(1)定义常量(const数据成员的初始化只能在类的构造函数的初始化表中进行,且必须初始化) (2)修饰函数的参数(常指针,常引用) (3)修饰函数的返回值(const char * GetString(void);) (4)修饰函数的定义体(任何不会修改数据成员的函数都应该声明为const 类型。如果在编写const 成员函数时,不慎修改了数据成员,或者调用了
2017-05-20 10:54:27
530
原创 查找链表倒数第k个节点
算法描述:给出一个单向链表的头指针(根指针),输出该链表中倒数第k个节点的指针。链表的倒数第0个节点的尾节点(尾节点的next成员为NULL)。函数find_node实现上述功能,链表节点定义及函数声明如下,请实现函数find_node。typedef struct Node{struct Node *next;}Node;Node *find_node(Node *he
2017-05-19 19:37:52
474
原创 判断一个字符串是不是对称的
算法描述:函数checkstr判断一个字符串是不是对称的,如:“abccba”是对称的,“abccbaa”则不是对称的。函数声明如下,其中msg为输入的字符串,对称返回0,不对称返回-1,请实现该函数。int checkstr(const char *msg);算法实现:#include #define N 100int checkstr(char const *msg){
2017-05-11 19:23:09
3708
原创 3个整数中最大的数和最小的数
算法描述:有3个整数a,b,c,由键盘输入,输出其中最大的数和最小的数。算法实现:#include int main(){ int a, b, c, max, min; printf("input three int:"); scanf("%d, %d, %d", &a, &b, &c); if (a < b) { min = a; max = b; } e
2017-05-10 19:48:09
1938
1
原创 求余
算法描述:给定一个不多余5位的正整数,要求:(1)求它是几位数(2)分别打印出每一位数字(3)按逆序打印出各位数字算法实现:#include #define N 5int main(){ int n, i; int k = 0; int a[N]; printf("enter a inter:"); scanf("%d", &n); do { a[k
2017-05-04 20:10:45
589
原创 数组的数字逆序排列重新存放
算法描述:将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8算法实现:#include #define N 5int main(){ int a[N], i, temp; printf("enter array a:\n"); for (i = 0; i < N; i++) scanf("%d", &a[i]); printf("arr
2017-05-04 19:49:45
1487
1
原创 负数在计算机中如何表示
负数以正值的补码形式存储-5在计算机中表示如下:5的原码:00000000 00000000 00000000 00000101(int占4字节) 反码:11111111 11111111 11111111 11111010 补码:11111111 11111111 11111111 11111011(0xfffffffb)
2017-04-26 10:55:38
6017
原创 两个字符串的比较
算法描述:编写一个函数,实现两个字符串的比较,即自己写一个strcmp函数,函数原型为int strcmp(char *p1, char *p2);设p1指向字符串s1,p2指向字符串s2。要求当s1= s2时,返回值为0;若s1 != s2,返回他们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79 - 65 = 14)。如果s1 >
2017-04-15 17:33:14
1249
原创 密电码
算法描述:输入一段英文,然后按照规律转换:英文字母变为其后的第5个字母,例如A变为F,B变为G,直到U变为Z后,V再变为A,以此类推,直到Z变为E。非英文字母的字符不变,直到输入换行结束。此种方法可以生成最简单的密电码。#include int main(){ char ch; do { scanf("%c",&ch); if ((ch >= 'a' && ch =
2017-04-15 17:03:57
854
原创 将用户输入的字母进行大小写转换
#include int main(){ char ch; scanf("%c",&ch); if (ch >= 'A' && ch <= 'Z') ch = ch + 32; else if (ch >= 'a' && ch <= 'z') ch = ch -32; //或者ch = (ch >= 'A' && ch <= 'Z') ? (ch + 32) : ch; p
2017-04-15 16:31:19
4558
原创 输出3~100的所有素数
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。#include int main(){ int n, i; for (n = 3; n <= 100; n++) { for (i = 2; i <= n - 1; i++) if (n % i == 0) break; if (i >
2017-04-15 16:21:09
12085
4
原创 判断某一年是否闰年
算法描述:能被400整除,是闰年能被4整除,但不能被100整除,是闰年if((year % 4 == 0)&& year % 100 != 0) || (year % 400 == 0)) leap = 1;else leap = 0;//或if (year % 400 == 0) leap = 1;else if(year % 100 ==
2017-04-09 11:45:03
803
转载 H.264整数DCT公式推导及蝶形算法分析
H.264整数DCT公式推导及蝶形算法分析 <div class="postBody"> <div id="cnblogs_post_body"><p><span style="font-family:宋体; font-size:12pt">这是网上的一篇文章, 我重新读了一下, 然后做了一些整理 1.为什么要进行变换
2017-03-25 17:13:33
1190
转载 HEVC中的变换编码
一、变换编码的意义:绝对大部分图像都含有较多的平坦区域内容变化缓慢的区域,变换可以使图像能量在空间域的分散分布转为在变换域的相对集中分布,就可以达到去除空间冗余的目的二、HEVC使用了DCT和DST(只用于4x4的小块)两种变换,为了加快速度,还会使用Hadamard算法(HEVC标准中没有使用,但是自己的具体实现可以使用)。二维DCT可以分成两个一维的DCT变换。
2017-03-25 17:08:39
1856
Ubuntu下Kaldi安装手册_JuZhang.pdf
2019-12-24
Building of Kaldi VS2015 Project on Windows - _番_茄_炒_蛋_ - 优快云博客.pdf
2019-12-24
语音识别算法原理文档整理.docx
2019-12-24
kaldi安装.docx
2019-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人