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