10个经典的C语言面试基础算法及代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 (countn)

{

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: );

l }

结果输出:

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;

while(temp!=0)

{

rem=temp%10;

reverse=reverse*10+rem;

temp/=10;

}

/* Checking if number entered by user and its reverse number is equal. */

if(reverse==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既不是质数也不是合l { 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);

for(i=1;i=rows;++i)

{

for(j=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);

for(i=1;i=rows;++i)

{

for(j=1;j=i;++j)

{

printf(%d ,j);

}

printf();

}

相关文档
最新文档