1.求组合数: 求n个数(1....n)中k个数的组合....
           如:combination(5,3)
  要求输出:543,542,541,532,531,521,432,431,421,321,

/*
 求组合数: 求n个数(1....n)中k个数的组合....
           如:combination(5,3)
  要求输出:543,542,541,532,531,521,432,431,421,321,
*/
#include <stdio.h>
#include <error.h>
int pop(int *);
int push(int );
void combination(int ,int);

int stack[3]={0};
int top = -1;

int main()
{
  int n,m;
    n = 5;
    m = 3;
  combination(n,m);
  printf("\n");
}

void combination(int m,int n)
{
  int temp = m;
  push(temp);
  while(1)
  {
    if(1==temp)
    {
      if(pop(&temp) && stack[0]==n)
        break;
    }
    else if(push(--temp))
    {
      printf("%d%d%d\n",stack[0],stack[1],stack[2]);
      pop(&temp);
    }
  }
}

int push(int i)
{
  stack[++top]=i;
  if(top<2)
    return 0;
  else
    return 1;
}

int pop(int *i)
{
  *i = stack[top--];
  if(top>=0)
    return 0;
  else
    return 1;
}

2.、用指针的方法,将字符串“ABCD1234efgh”前后对调显示

#include <stdio.h>
#include <string.h>
int main()
{
  char str[]="ABCD123efgh";
  int length = strlen(str);
  char *p1= str;
  char *p2 = str+length -1;
  while(p1<p2)
  {
    char c = *p1;
    *p1 = *p2;
    *p2 = c;
    ++p1;
    --p2;
  }
  printf("str now is %s\n",str);
  return 1;
}

3.给定字符串A和B,输出A和B中的最大公共子串。比如A="aocdfe" B="pmcdfa" 则输出"cdf"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *commanstring(char shortstring[],char longstring[])
{
  int i,j;
  char *substring = malloc(256);
  if(strstr(longstring,shortstring)!=NULL)
    return shortstring;
  for(i=strlen(shortstring)-1;i>0;i--)
  {
    for(j=0;j<=strlen(shortstring)-i;j++)
    {
      memcpy(substring,&shortstring[j],i);
    substring[i]='\0';
    if(strstr(longstring,substring)!=NULL)
      return substring;
    }
  }
  return NULL;
}

void main(void)
{
  char *str1 = "aocdfe";
  char *str2 = "pmcdfa";
  char *comman = NULL;
  if(strlen(str1)>strlen(str2))
    comman= commanstring(str2,str1);
  else
    comman = commanstring(str1,str2);
  printf("the longest comman string is:%s\n",comman);
  
 }

C语言面试算法题(一)相关推荐

  1. bool c语言_C语言面试54题

    C语言面试54题 ​ 大家好,这期呢,我们谈一下c语言的面试题. 第1题,c语言有哪些核心的特征? 可移植性很强. 模块化能力很强. 灵活性很高. 加载速度和执行速度都很好. 可扩展性很强. 第2题, ...

  2. C++经典面试算法题

    #include <assert.h> #include <string.h> #include <stack>// // C++ 经典面试算法题 [7/28/20 ...

  3. Java常见的面试算法题:实现两个线程交替打印1到100的数

    Java常见的面试算法题:实现两个线程交替打印1到100的数 思路: 这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例. 代码实现: pack ...

  4. 常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可)

    常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可) 比较典型的题目,如下有: 题目一: 1.启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程 ...

  5. 力扣高频算法php_互联网公司最常见的面试算法题有哪些?

    很多时候,你即使提前复习了这些最常见的面试算法题,你依旧无法通过算法面试! 为什么?你在提前准备复习的时候,在网上找了半天相应题目的分析文章,但你看了就是不懂. 你在面试的时候,卡壳了,一时间忘了怎么 ...

  6. 【笔试面试题】腾讯2013实习生面试算法题及参考答案

    总结了一下自己遇到的以及同学遇到的面试算法题,是技术二面. 有几道题给出了参考答案,还有几道没有好的思路.路过的大侠如果有好的思路请留个言交流下呗~ 1.八数码问题:3*3的格子,有1~8个数,空了一 ...

  7. 互联网公司最常见的面试算法题大集合!

      转载于 新智元   来源:Github 编辑:元子 [导读]LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值.很多求职者都会在Leet ...

  8. c语言面试编程笔试题,C语言面试编程题

    C语言面试编程题 发布时间:2021-04-10 在C语言中,输入和输出是经由标准库中的一组函数来实现的.在ANSI/ISO C中,这些函数被定义在头文件;中.下面就由第一范文网小编为大家介绍一下C语 ...

  9. 一道小面试算法题的思路

    一道小算法题的思路 有这么一道小面试算法题:给定一个长度为 n 的整数数组,下标为 i 的元素表示第 i 天某个股票的价格,每次最多持有一股,每次买卖最多一股,在最多只买卖一次的情况下(先买后卖,不考 ...

最新文章

  1. 扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌
  2. HDU3037(卢卡斯定理)
  3. 未找到文件 服务器可能无此更新包文件,win7安装xampp提示windows找不到-n文件(安装成功后,443端口占用,apache服务器无法正常启动)的解决方案...
  4. 容器(一)剖析面试最常见问题之 Java 集合框架
  5. matlab贝叶斯优化工具箱_经济学人的神器——BEAR(贝叶斯估计、分析和回归工具包)...
  6. MapReduce 作业调试
  7. 微服务架构设计总结实践
  8. html密码验证 并跳转页面,vuejs 实现前后端分离登录验证和页面自动跳转
  9. JDK8新特性(六)之Stream流的forEach()方法
  10. python单词的含义-python实现单词本功能
  11. 如何用photoshop做24色环_怎么使用PS制作24色环?
  12. 数学之美--读书笔记
  13. ts类中的private和protected
  14. 谷歌雅虎新闻大战-两种路线的PK
  15. 巴比特CEO王雷:未来几年会迎来区块链企业上市小高潮,或将诞生万亿级企业...
  16. Python有趣|数据分析三板斧
  17. 《自律让你自由》摘要
  18. ffmpeg webm 提取_使用 FFmpeg 对 webp转png , webm转mp4或者gif等进行操作
  19. 文化的影响:整体感知与分析感知
  20. ETL工具Informatica开发流程 综合应用 电信通话计费系统开发项目案例10

热门文章

  1. Mybatis学习错误之:重复加载mapper.xml
  2. ctime、mtime、atime
  3. ODAC(V9.5.15) 学习笔记(十七)主从模式
  4. 【cocostudio】发布资源在Cocos2d-x中如何使用
  5. apache+tomcat​现在我们实现session共享
  6. 统计学习方法|K近邻原理剖析及实现
  7. js for循环 ajax
  8. ps高级磨皮的7个步骤
  9. 列表与表格的一些学习
  10. 点击切换图标方法,jquery bootstrap方法