算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。
[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<>< span=''><>
{
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;
while(display<>< span=''><>
{
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;
while(temp!=0)
{
rem=temp%10;
reverse=reverse*10+rem;
temp/=10;
}
/* Checking if number entered by user and it's 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既不是质数也不是合数。
源代码:/* C program to check whether a number is prime or not. */
#include
int main()
{