算法是一个程序和软件的灵魂,下面小编为大家整理了10个经典的C语言面试基础算法及代码,希望能帮到大家!1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割下面是小编为大家整理的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",#
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语言面试算法题