当前位置:360文档网>专题范文 > 公文范文 > 2023年10个经典C语言面试基础算法及代码(范文推荐)

2023年10个经典C语言面试基础算法及代码(范文推荐)

发布时间: 2025-05-15 02:33:38 来源:网友投稿

算法是一个程序和软件的灵魂,下面小编为大家整理了10个经典的C语言面试基础算法及代码,希望能帮到大家!1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割下面是小编为大家整理的2023年10个经典C语言面试基础算法及代码(范文推荐),供大家参考。

2023年10个经典C语言面试基础算法及代码(范文推荐)

  算法是一个程序和软件的灵魂,下面小编为大家整理了10个经典的C语言面试基础算法及代码,希望能帮到大家!

    1、计算Fibonacci数列

  Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。

  C语言实现的代码如下:

  /* Displaying Fibonacci sequence up to nth term where n is entered by user. */

  #include

  int main

  int count, n, t1=0, t2=1, display=0;

  printf"Enter number of terms: ";

  scanf"%d",&n;

  printf"Fibonacci Series: %d+%d+", t1, t2; /* Displaying first two terms */

  count=2; /* count=2 because first two terms are already displayed. */

  while count<n

  display=t1+t2;

  t1=t2;

  t2=display;

  ++count;

  printf"%d+",display;

  return 0;

  结果输出:

  Enter number of terms: 10

  Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+

  也可以使用下面的源代码:

  /* Displaying Fibonacci series up to certain number entered by user. */

  #include

  int main

  int t1=0, t2=1, display=0, num;

  printf"Enter an integer: ";

  scanf"%d",&num;

  printf"Fibonacci Series: %d+%d+", t1, t2; /* Displaying first two terms */

  display=t1+t2;

  whiledisplay<num

  printf"%d+",display;

  t1=t2;

  t2=display;

  display=t1+t2;

  return 0;

  结果输出:

  Enter an integer: 200

  Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+55+89+144+

  2、回文检查

  源代码:

  /* C program to check whether a number is palindrome or not */

  #include

  int main

  int n, reverse=0, rem,temp;

  printf"Enter an integer: ";

  scanf"%d", &n;

  temp=n;

  whiletemp!=0

  rem=temp%10;

  reverse=reverse*10+rem;

  temp/=10;

  /* Checking if number entered by user and it's reverse number is equal. */

  ifreverse==n

  printf"%d is a palindrome.",n;

  else

  printf"%d is not a palindrome.",n;

  return 0;

  结果输出:

  Enter an integer: 12321

  12321 is a palindrome.

   3、质数检查

  注:1既不是质数也不是合数。

  源代码:

  /* C program to check whether a number is prime or not. */

  #include

  int main

  int n, i, flag=0;

  printf"Enter a positive integer: ";

  scanf"%d",&n;

  fori=2;i<=n/2;++i

  ifn%i==0

  flag=1;

  break;

  if flag==0

  printf"%d is a prime number.",n;

  else

  printf"%d is not a prime number.",n;

  return 0;

  结果输出:

  Enter a positive integer: 29

  29 is a prime number.

    4、打印金字塔和三角形

  使用 * 建立三角形

  *

  * *

  * * *

  * * * *

  * * * * *

  源代码:

  #include

  int main

  int i,j,rows;

  printf"Enter the number of rows: ";

  scanf"%d",&rows;

  fori=1;i<=rows;++i

  forj=1;j<=i;++j

  printf"* ";

  printf"";

  return 0;

  如下图所示使用数字打印半金字塔。

  1

  1 2

  1 2 3

  1 2 3 4

  1 2 3 4 5

  源代码:

  #include

  int main

  int i,j,rows;

  printf"Enter the number of rows: ";

  scanf"%d",&rows;

  fori=1;i<=rows;++i

  forj=1;j<=i;++j

  printf"%d ",j;

  printf"";

  return 0;

  用 * 打印半金字塔

  * * * * *

  * * * *

  * * *

  * *

  *

  源代码:

  #include

  int main

  int i,j,rows;

  printf"Enter the number of rows: ";

  scanf"%d",&rows;

  fori=rows;i>=1;--i

  forj=1;j<=i;++j

  printf"* ";

  printf"";

  return 0;

  用 * 打印金字塔

  *

  * * *

  * * * * *

  * * * * * * *

  * * * * * * * * *

  源代码:

  #include

  int main

  int i,space,rows,k=0;

  printf"Enter the number of rows: ";

  scanf"%d",&rows;

  fori=1;i<=rows;++i

  forspace=1;space<=rows-i;++space

  printf" ";

  whilek!=2*i-1

  printf"* ";

  ++k;

  k=0;

  printf"";

  return 0;

  用 * 打印倒金字塔

  * * * * * * * * *

  * * * * * * *

  * * * * *

  * * *

  *

  源代码:

  #include

  int main

  int rows,i,j,space;

  printf"Enter number of rows: ";

  scanf"%d",&rows;

  fori=rows;i>=1;--i

  forspace=0;space<rows-i;++space

  printf" ";

  forj=i;j<=2*i-1;++j

  printf"* ";

  forj=0;j<i-1;++j

  printf"* ";

  printf"";

  return 0;

推荐访问:算法 面试 语言 10个经典C语言面试基础算法及代码 10个经典的c语言面试基础算法及代码 c语言面试基础知识 C语言面试宝典 c语言面试算法题

版权所有:360文档网 2013-2025 未经授权禁止复制或建立镜像[360文档网]所有资源完全免费共享

Powered by 360文档网 © All Rights Reserved.。备案号:京ICP备13037083号-1