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