1、C语言面试的10个经典基础算法及代码C语言面试的10个经典基础算法及代码C语言面试的10个经典基础算法及代码1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。C语言实现的代码如下:/*DisplayingFibonaccisequenceuptonthtermwherenisenteredbyuser.*/#includeintmain()intcount,n,t1=0,t2=1,display=0;printf(Enternumberofterms:);scanf(%d,&n);printf(Fib
2、onacciSeries:%d+%d+,t1,t2);/*Displayingfirsttwoterms*/count=2;/*count=2becausefirsttwotermsarealreadydisplayed.*/while(countdisplay=t1+t2;t1=t2;t2=display;+count;printf(%d+,display);return0;结果输出:Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+也可以使用下面的.源代码:/*DisplayingFibonacciseriesuptoc
3、ertainnumberenteredbyuser.*/#includeintmain()intt1=0,t2=1,display=0,num;printf(Enteraninteger:);scanf(%d,&num);printf(FibonacciSeries:%d+%d+,t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(displayprintf(%d+,display);t1=t2;t2=display;display=t1+t2;return0;结果输出:Enteraninteger:200FibonacciSeries:
4、0+1+1+2+3+5+8+13+21+34+55+89+144+2、回文检查源代码:/*Cprogramtocheckwhetheranumberispalindromeornot*/#includeintmain()intn,reverse=0,rem,temp;printf(Enteraninteger:);scanf(%d,&n);temp=n;while(temp!=0)rem=temp%10;reverse=reverse*10+rem;temp/=10;/*Checkingifnumberenteredbyuseranditsreversenumberisequal.*/if(r
5、everse=n)printf(%disapalindrome.,n);elseprintf(%disnotapalindrome.,n);return0;结果输出:Enteraninteger:1232112321isapalindrome.3、质数检查注:1既不是质数也不是合数。源代码:/*Cprogramtocheckwhetheranumberisprimeornot.*/#includeintmain()intn,i,flag=0;printf(Enterapositiveinteger:);scanf(%d,&n);for(i=2;i=n/2;+i)if(n%i=0)flag=1;
6、break;if(flag=0)printf(%disaprimenumber.,n);elseprintf(%disnotaprimenumber.,n);return0;结果输出:Enterapositiveinteger:2929isaprimenumber.4、打印金字塔和三角形使用*建立三角形*源代码:#includeintmain()inti,j,rows;printf(Enterthenumberofrows:);scanf(%d,&rows);for(i=1;i=rows;+i)for(j=1;j=i;+j)printf(*);printf(n);return0;如下图所示使用
7、数字打印半金字塔。112123123412345源代码:#includeintmain()inti,j,rows;printf(Enterthenumberofrows:);scanf(%d,&rows);for(i=1;i=rows;+i)for(j=1;j=1;-i)for(j=1;j=i;+j)printf(*);printf(n);return0;用*打印金字塔*源代码:#includeintmain()inti,space,rows,k=0;printf(Enterthenumberofrows:);scanf(%d,&rows);for(i=1;i=rows;+i)for(space=1;space=1;-i)for(space=0;spaceprintf();for(j=i;j=2*i-1;+j)printf(*);for(j=0;jprintf(*);printf(n);return0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1