《10个经典的C语言面试基础算法及代码》由会员分享,可在线阅读,更多相关《10个经典的C语言面试基础算法及代码(24页珍藏版)》请在人人文库网上搜索。
1、10个经典的C语言面试基础算法及代码算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。C语言实现的代码如下:/* Displaying Fibonacci sequence up to nth term where n 。
2、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 (countint main()int t1=0, t2=。
3、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(displayint 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/。
4、=10; /* Checking if number entered by user and its reverse number is equal. */ if(reverse=n) printf(%d is a palindrome.,n);elseprintf(%d is not a palindrome.,n);return 0;结果输出:Enter an integer: 1232112321 is a palindrome.3、质数检查注:1既不是质数也不是合数。源代码:/* C program to check whether a number is prime or not. 。
5、*/#include int main()int n, i, flag=0;printf(Enter a positive integer: );scanf(%d,&n);for(i=2;iint main()int i,j,rows;printf(Enter the number of rows: );scanf(%d,&rows);for(i=1;iint main()int i,j,rows;printf(Enter the number of rows: );scanf(%d,&rows);for(i=1;iint main()int i,j,rows;printf(Enter the。
6、 number of rows: );scanf(%d,&rows);for(i=rows;i=1;-i)for(j=1;jint main()int i,space,rows,k=0;printf(Enter the number of rows: );scanf(%d,&rows);for(i=1;iint main()int rows,i,j,space;printf(Enter number of rows: );scanf(%d,&rows);for(i=rows;i=1;-i)for(space=0;spaceint main()char o;float num1,num2;pri。
7、ntf(Enter operator either + or - or * or divide : );scanf(%c,&o);printf(Enter two operands: );scanf(%f%f,&num1,&num2);switch(o) case +:printf(%.1f + %.1f = %.1f,num1, num2, num1+num2);break;case -:printf(%.1f - %.1f = %.1f,num1, num2, num1-num2);break;case *:printf(%.1f * %.1f = %.1f,num1, num2, num。
8、1*num2);break;case /:printf(%.1f / %.1f = %.1f,num1, num2, num1/num2);break;default:/* If operator is other than +, -, * or /, error message is shown */printf(Error! operator is not correct);break;return 0;结果输出:Enter operator either + or - or * or divide : -Enter two operands: 3.48.43.4 - 8.4 = -5.0。
9、6、检查一个数能不能表示成两个质数之和源代码:#include int prime(int n);int main()int n, i, flag=0;printf(Enter a positive integer: );scanf(%d,&n);for(i=2; ivoid Reverse();int main()printf(Enter a sentence: );Reverse();return 0;void Reverse()char c;scanf(%c,&c);if( c != n)Reverse();printf(%c,c);结果输出:Enter a sentence: marg。
10、orp emosewaawesome program8、实现二进制与十进制之间的相互转换/* C programming source code to convert either binary to decimal or decimal to binary according to data entered by user. */#include #include int binary_decimal(int n);int decimal_binary(int n);int main()int n;char c;printf(Instructions:n);printf(1. Enter a。
11、lphabet d to convert binary to decimal.n);printf(2. Enter alphabet b to convert decimal to binary.n);scanf(%c,&c);if (c =d | c = D)printf(Enter a binary number: );scanf(%d, &n);printf(%d in binary = %d in decimal, n, binary_decimal(n);if (c =b | c = B)printf(Enter a decimal number: );scanf(%d, &n);p。
12、rintf(%d in decimal = %d in binary, n, decimal_binary(n);return 0;int decimal_binary(int n) /* Function to convert decimal to binary.*/int rem, i=1, binary=0;while (n!=0)rem=n%2;n/=2;binary+=rem*i;i*=10;return binary;int binary_decimal(int n) /* Function to convert binary to decimal.*/int decimal=0,。
13、 i=0, rem;while (n!=0)rem = n%10;n/=10;decimal += rem*pow(2,i);+i;return decimal;结果输出:9、使用多维数组实现两个矩阵的相加源代码:#include int main()int r,c,a100100,b100100,sum100100,i,j;printf(Enter number of rows (between 1 and 100): );scanf(%d,&r);printf(Enter number of columns (between 1 and 100): );scanf(%d,&c);print。
14、f(nEnter elements of 1st matrix:n);/* Storing elements of first matrix entered by user. */for(i=0;iint main()int a1010, trans1010, r, c, i, j;printf(Enter rows and column of matrix: );scanf(%d %d, &r, &c);/* Storing element of matrix entered by user in array a. */printf(nEnter elements of matrix:n);。
15、for(i=0; ir; +i)for(j=0; jc; +j)printf(Enter elements a%d%d: ,i+1,j+1);scanf(%d,&aij);/* Displaying the matrix a */printf(nEntered Matrix: n);for(i=0; ir; +i)for(j=0; jc; +j)printf(%d ,aij);if(j=c-1)printf(nn);/* Finding transpose of matrix a and storing it in array trans. */for(i=0; ir; +i)for(j=0; jc; +j)transji=aij;/* Displaying the transpose,i.e, Displaying array trans. */printf(nTranspose of Matrix:n);for(i=0; ic; +i)for(j=0; jr; +j)printf(%d ,transij);if(j=r-1)printf(nn);return 0;结果输出。