![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Dakuan_chen
这个作者很懒,什么都没留下…
展开
-
剑指offer面试题10
一个数二进制中一的个数常规解法#includeint count_one_bits(unsigned int value){int a[100];int i=0,num=1,m=0;m=value;for(i=0; m!=0; i++) { a[i]=m%2;原创 2016-11-05 08:56:23 · 295 阅读 · 0 评论 -
用递归的方法实现输出一个十进制数的每一位
#include<stdio.h>int print_every_bit(int n){ while(n!=0) { int i=0; i=n%10; n/=10; printf("%d ",i); print_every_bit(n); break; } return原创 2017-04-22 17:03:04 · 637 阅读 · 0 评论 -
剑指offer面试题3
有一个二维数组其每一行从左到右依次递增,每一列从上到下依次递增,请完成这样一个函数传入这样一个数组和一个数,判断数组是否含有这个数,如果有返回true,如果没有发挥false。#include#define ROWS 5#define COLS 5#define TRUE 1#define FALSE 0int cheek(int arr[ROWS]原创 2016-10-31 20:06:43 · 430 阅读 · 0 评论 -
剑指offer:面试题9,斐波那契数列
递归算法#include#include int fibonacci(int n){if (n{return 0;}if (n==1){return 1;}return fibonacci(n-1)+fibonacci(n-2);}int main(){int n=0;int sum=0;原创 2016-11-07 19:15:19 · 395 阅读 · 0 评论 -
函数栈帧
用下面的程序举例说明函数调用时函数栈帧的情况。#includeint Add(int x,int y){int z=0;z=x+y;return z;}int main(){int x=4;int y=3;Add(x,y);return 0;}main函数开始被mainCRTStartup函数调用。原创 2016-11-13 21:05:51 · 344 阅读 · 0 评论 -
Linux环境下模拟实现进度条
回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed在不同的操作系统这几个字符表现不同,比如在WIN系统下,这两个字符就是表现的本义,在UNIX类系统,换行\n就表现为光标下一行并回到行首,在MAC上,\r就原创 2017-02-18 10:18:44 · 576 阅读 · 0 评论 -
自己编写的简单shell
shell原理:Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序。它不属于内核部分,而是在核心之外,以用户态方式运行。其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口。系统初启后,核心为每个终端用户建立一个进程去执行Shell解释程序。它的执行过程基本上按如下步骤: (1)读取用户由键盘输入的命令行。 (2)分析命令,以命令名作为文原创 2017-02-27 21:47:02 · 2803 阅读 · 0 评论 -
剑指offer面试题14
调整数组使其奇数位于偶数前面如将1,2,3,4,5,6调整为1,3,5,2,4,6,#include#include void exchange_odd_even(int arr[],int sz){int left=0;int right=sz-1;int num=0;while (left{if (arr[righ原创 2016-11-09 16:51:42 · 348 阅读 · 1 评论 -
剑指offer面试题11
数值整数次方#include #includedouble Power(double base,unsigned int exponent){double result=0;if (exponent==0){return 1;}if (exponent==1){return base;}resu原创 2016-11-09 13:06:59 · 263 阅读 · 0 评论 -
剑指offer面试题8
旋转数组的最小数字#include#includeint find(int *arr,int sz){int left=0;int right=sz-1;int mid=(left+right)/2;while (arr[left]>=arr[right]){if (right-left==1){mid=right;break;}原创 2016-11-08 20:46:22 · 319 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
#include#includeint main(){int a=0,i=0,k=0,sn=0;scanf("%d",&a);k=a;sn+=a;for(i=0; i{k=pow(10.0,i+1)*a+k;sn+=k;}printf("%d",sn);return 0;}#includ原创 2016-10-10 22:39:54 · 514 阅读 · 0 评论 -
交换两个数的值
#includeint main(){int a=0,b=0,i=0;scanf("%d%d",&a,&b);i=a;a=b;b=i;printf("%d %d\n",a,b);return 0;}int main(){int a=0,b=0;scanf("%d%d",&a,&b);原创 2016-09-26 19:55:54 · 333 阅读 · 0 评论 -
求一元二次方程的解
#include#includeint main(){double a=0,b=0,c=0,s=0,x1=0,x2=0;printf("ax2+bx+c=0");printf("\n输入a b c的值\n");scanf("%lf%lf%lf",&a,&b,&c);s=b*b-4*a*c;if(a==0){prin原创 2016-09-27 19:05:03 · 547 阅读 · 0 评论 -
演示多个字符从两端移动,向中间汇聚
#include#include#includeint main(){char arr1[]={"205 shi xue ba shu she!!!"};char arr2[]={"#########################"}; //在编译器中arr1与arr2显示长度是一样的 int left=0,right=strlen(原创 2016-10-10 22:30:40 · 343 阅读 · 0 评论 -
用*输出菱形
用循环方式#includeint main(){int i=0,j=0,k=0,t=0;for(i=0; i{for(j=0; j{printf(" ");}for(k=0; k{printf("*");}printf("\n");}t=j;for(i=0; i{for(j=0; j原创 2016-10-10 22:37:02 · 952 阅读 · 0 评论 -
一个数组中其他数都是成对出现只有一个个数只出现一次
#includeint main(){int arr[]={7,2,3,4,5,6,7,6,5,4,3,2,1};int len=sizeof(arr)/sizeof(arr[0]);int i=0;for(i=1; i{arr[0]=arr[0]^arr[i]; }printf("%d\n",arr[0]);原创 2016-10-26 11:18:23 · 492 阅读 · 0 评论 -
有一组数字,有两个数字只出现一次,其他数字都是成对出现的,请找出这个数字。
#includeint locted_one(int value){int i=0,n=value,count=0;for(i=0; i{if((n&1)==1){return count;}count++;n=n>>1;}return 0;}void only_two(int arr1[],int sz原创 2016-10-30 21:03:08 · 543 阅读 · 0 评论 -
剑指offer,面试题四替换空格
请实现一个函数,把字符数组中的每个空格替换成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。#include#includevoid replace_space(char arr[]){int count_space=0;int i=0;char *star=arr+strlen(arr)-1;原创 2016-11-02 11:26:32 · 267 阅读 · 0 评论 -
用递归的方法实现输出一个十进制数的每一位
#includeint print_every_bit(int n){while(n!=0){int i=0;i=n%10;n/=10;printf("%d ",i);print_every_bit(n);break;}return 0;}int main(){int n=0;scanf("%d",&n);原创 2016-10-11 08:53:55 · 2359 阅读 · 0 评论