- 博客(11)
- 收藏
- 关注
原创 实现一个add()函数-两数相加(不能使用四则运算以及++--)
当我们被问到这个问题时,都在想既然是两数相加,那必然要使用到四则运算或者自增自减。如果不用四则运算,那我们就要想想十进制数之间是怎么进行加法的。比如要计算14+7=21。我们可以通过三步来计算,(1)个位上进行加法计算得出4+7=11 (不进位)(2)4+7=11需要进位,进位的值为10 (3) 前两步相加结果证号为:10+11=21其实求两数之和四则运算不能用,那就只剩下位运算了(位
2017-07-15 17:44:28 4340 1
原创 数组中只出现一次的两个数字(百度面试题)
题目要求:在一个数组中,其余数字都是成堆出现的,只有两个数字出现了一次。尽快找到这两个数字。思路:之前有过类似题,是一组数组中只有一个数字出现了一次,其余数字都是成对出现的。找到这个数字。这道题直接异或就可以得出结果。但是若数组中有两个只出现了一次的数字,再用异或得出的就是两个只出现一次的数字异或的结果。即数组若为{1 2 3 3 2 1 4 5}结果就为4 5的异或结果,但若将4 5
2016-12-27 15:25:26 1253 2
原创 "狗"咬“尾巴”(即旋转字符串)
给定或输入一串字符串 ABCDEF把它左旋转一次结果为:BCDEFA左旋转两次结果为: CDEFAB即每旋转一次将最前面的字符提出来,第二个到最后一个字符均向前移动一位,再将提出来的原第一个字符放到最后一位。具体实现: 1.穷举法(运用第三方空间) 将出现的每种可能情况列出来 优:运算时间少
2016-12-11 13:45:09 311
原创 定义一个宏实现整形数字奇偶位交换(二进制位)
定义一个宏实现把一个整形的二进制位的奇偶进行交换。例如:输入10 ->1010 输出 5 ->0101实现步骤: 1.把整数的奇数位提出,将偶数位清零(按位与&上0101) 此刻结果为:0000 2.同样将偶数位提出,并将奇数位清零(&1010) 此刻结果为:1010
2016-12-11 12:39:43 513
原创 strstr模拟实现
strstr函数在string.h头文件下作用:des[]="abcdefg12345"; msg[]="fg1"; strstr(des,msg);即若在des下可以找到msg字符串,返回在des下与msg相同字符的首f地址;否则返回null表示没找到与msg字符串相等的字符串。实现步骤:保留母串与子串的首地址->大循环母
2016-12-11 12:18:19 278
原创 三子棋
#define _CRT_SECURE_NO_WARNINGS l #include#include#include#includevoid menu(){ printf("******************************\n"); printf("******************************\n"); printf("************三子棋*
2016-11-26 12:41:36 419
原创 扫雷小游戏(粗略写的,可以应该多用函数简单明了)
#include#include#include#includevoid menu(){ printf("**********************************\n"); printf("*************扫雷游戏*************\n"); printf("***********1.开始游戏*************\n"); printf("**
2016-11-26 00:31:34 513
原创 32个bit不同位统计 以及反转
1.编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:72.编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回 值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:0000
2016-11-24 21:05:22 856
原创 用c计算水仙花数、杨辉三角、以及a+aa+aaa+aaaa的值
//水仙花数#includeint main(){ int a=0; int b=0; int c=0; int i=0; for(i=100;i<=999;i++) { a=i%10; b=(i/10)%10; c=i/100; if((a*a*a+b*b*b+c*c*c)==i) printf("%d ",i); } system("pause")
2016-11-12 00:02:07 430
原创 用函数来判断程序运行时间
GetTickCount()//返回毫秒数windows.h下的一个函数,可用来判断程序运行时间的长短。具体用法:int start=GetTickCount(); int end=GetTickCount(); 程序 printf("%d",end-start);
2016-11-08 21:02:03 507 1
原创 猴子吃桃子问题
#includeint main(){ int sum=1;//桃子总数 int i=1;//天数 for(i=1;i<10;i++) { sum=(sum+1)*2;//前一天桃子总数是后一天总数+1的2倍 } printf("sum=%d",sum); system("pause"); return 0;}
2016-11-08 20:08:47 404
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人