- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 华为机试——数组循环移位
要求:左移为负,右移为正#include<iostream>using namespace std;void Reverse(int *arr,int b,int e){ for(;b<e;b++,e--) { int temp=arr[b]; arr[b]=arr[e]; arr[e]=temp; }}void cycl
2015-11-26 16:25:46 392
原创 华为机试——超大整数加法运算
思想:大整数应该用字符串或者数组来存储,不过注意低位存在字符的最前面,高位存后面#include<iostream>#include<cstring>const int N=100;using namespace std;void SumOfBigInt(char a[],char b[]){ int len1,len2,len,i; len1=strlen(a);
2015-11-26 16:21:58 676
原创 华为机试——查找字符串中空格分割的单词的最大长度
题目:查找字符串中空格分割的单词的最大长度#include<iostream>#include<string>using namespace std;int LongestWord(string s){ int maxlen=0; string::size_type pos=0,tmp; while((tmp=s.find(" ",pos))!=string::npos
2015-11-26 16:19:12 1121
原创 华为机试——字符串字母转换(二)
题目:输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为V~Z,则转换为对应小写字母的值减21。其他字符变换,输出转换后的字符串。例如,对于字母A,则转换为小写字符f;如形参是字母W,则转换为小写字母b。样例输入:Axs3mWss样例输出:fxs3mbss#include<iostream>#include<string>#include<cctype>usin
2015-11-26 16:03:14 739
原创 华为机试——字符子串比较
题目:编写一个函数,以大小写不敏感方式计算字符串的不相同的第一个字符的位置(位置从0开始计算),如果两个字符串相同,则返回-1;输入:两个字符串,中间以’,’分隔输出:不相同的第一字符的位置样例输入:hello world,Hello World样例输出:-1#include<iostream>#include<string>#include<ctype.h>#include<algorith
2015-11-26 15:49:55 723
原创 华为机试——计算数的二进制中第一个1之后0的个数
题目:.数字可以在十进制和二进制之间进行转换。输入一个10进制数字,请编写一个函数,计算该数字对应二进制中0的个数,注意左边第一个1之前的所有0都不需要计算。不需要考虑复数的情况。输入:要计算的数字输出:二进制中第一个1之后0的个数。#include<iostream>#include<string.h>using namespace std;char a[33];int countOfZe
2015-11-26 15:42:29 1481
原创 数据库的基本概念
关系数据库是表的集合,它是由一个或多个关系模式定义。SQL语言中的定义功能包括数据库,基本表,视图,索引的定义1.关系模型的基本概念关系数据库以关系模型为基础,它有一下三部分组成:数据结构——模型所操作的对象、类型的集合 完整性规则——保证数据有效。正确的约束条件 数据操作——对模型对象所允许执行的操作方式 关系(Relation)是一个由行和列组成的二维表格,表中的每一行是一条记录(Reco
2015-11-15 22:49:26 904
原创 C/C++中位域的使用
位域:有些信息在存储时有时候并不需要占用一个完整的字节,而只需要占用几个或一个二进制位。例如,在存放一个开关变量时,只有0和1两种状态,用一为二进位即可。为了节省存储空间,并使处理简便,C/C++提供了一种数据结构,称为“位域”或“位段”。所谓“位域”就是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节
2015-11-13 16:43:59 1268
原创 无序数组排序
有1,2,..一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度为O(1),使用交换,而且一次只能交换两个数#include<iostream>using namespace std;int main(){ int arr[10]={10,6,9,5,2,8,4,7,1,3}; int len=sizeof(arr)/sizeof(int); in
2015-11-13 15:28:06 2751
原创 打印螺旋矩阵
输入N,打印一个N*N的矩阵,规律就是从首坐标开始一次增大 比如N=4;打印 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7对于这个问题的解决我给出了下面两种方法:#define M 10int s[M][M];void fun
2015-11-13 15:05:31 1227
原创 n的阶乘末尾0的个数
求1000!的末尾有几个0(用素数相乘的方法来做,如72=2*2*2*3*3); 求出1到1000里,能被5整除的数的个数n1,能被25整除的数的个数n2,能被125整除的数的个数n3,能被625整除的数的个数n4 1000!末尾的零的个数=n1+n2+n3+n4;#include<stdio.h>#define NUM 1000int find5(int num){ int re
2015-11-12 20:37:30 840
原创 最大公共子串(C语言实现)
给定两个字符串A和B,输出A和B中的最大公共子串。比如A=”aocdfe”,B=”pmcdfa”,则输出“cdf”#include<stdio.h>#include<stdlib.h>#include<string.h>char *commstring(char *str1,char *str2){ char *s1,*s2; int i,j; int len1,len
2015-11-12 20:29:39 4742
原创 字符串指定位置插入
两个字符串s,t;把t字符串插入到s字符串中位置i处,s字符串中有足够的空间存放t字符串void insert(char *s,char *t,int i){ memcpy(&s[strlen(t)+i],&s[i],strlen(t)); memcpy(&s[i],t,strlen(t)); s[strlen(s)+strlen(t)]='\0';}
2015-11-12 20:12:54 2005
原创 字符搜索
请编写一个C函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值int search(char *str,int n,char ch){ int i; for(i=0;i<n && *(str+i)!=ch;i++); if(i==n) return -1; else return i;}
2015-11-12 20:10:08 570
原创 C语言库函数的实现
1.C库中strcmp的实现代码方法1:int strcmp(char *str1,char *str2){ for(;*str1==*str2;str1++,str2++) { if(*str1=='\0') return 0; } return (*(unsigned char *)str1<*(unsigned char
2015-11-01 21:55:33 1798
程序员健康指南
2015-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人