C语言面试的10个经典基础算法及代码.docx

上传人:b****8 文档编号:29633638 上传时间:2023-07-25 格式:DOCX 页数:9 大小:14.86KB
下载 相关 举报
C语言面试的10个经典基础算法及代码.docx_第1页
第1页 / 共9页
C语言面试的10个经典基础算法及代码.docx_第2页
第2页 / 共9页
C语言面试的10个经典基础算法及代码.docx_第3页
第3页 / 共9页
C语言面试的10个经典基础算法及代码.docx_第4页
第4页 / 共9页
C语言面试的10个经典基础算法及代码.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言面试的10个经典基础算法及代码.docx

《C语言面试的10个经典基础算法及代码.docx》由会员分享,可在线阅读,更多相关《C语言面试的10个经典基础算法及代码.docx(9页珍藏版)》请在冰豆网上搜索。

C语言面试的10个经典基础算法及代码.docx

C语言面试的10个经典基础算法及代码

C语言面试的10个经典基础算法及代码

C语言面试的10个经典基础算法及代码

1、计算Fibonacci数列

Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:

1、1、2、3、5、8、13、21。

C语言实现的代码如下:

/*DisplayingFibonaccisequenceuptonthtermwherenisenteredbyuser.*/

#include

intmain()

{

intcount,n,t1=0,t2=1,display=0;

printf("Enternumberofterms:

");

scanf("%d",&n);

printf("FibonacciSeries:

%d+%d+",t1,t2);/*Displayingfirsttwoterms*/

count=2;/*count=2becausefirsttwotermsarealreadydisplayed.*/

while(count

{

display=t1+t2;

t1=t2;

t2=display;

++count;

printf("%d+",display);

}

return0;

}

结果输出:

Enternumberofterms:

10

FibonacciSeries:

0+1+1+2+3+5+8+13+21+34+

也可以使用下面的.源代码:

/*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/

#include

intmain()

{

intt1=0,t2=1,display=0,num;

printf("Enteraninteger:

");

scanf("%d",&num);

printf("FibonacciSeries:

%d+%d+",t1,t2);/*Displayingfirsttwoterms*/

display=t1+t2;

while(display

{

printf("%d+",display);

t1=t2;

t2=display;

display=t1+t2;

}

return0;

}

结果输出:

Enteraninteger:

200

FibonacciSeries:

0+1+1+2+3+5+8+13+21+34+55+89+144+

2、回文检查

源代码:

/*Cprogramtocheckwhetheranumberispalindromeornot*/

#include

intmain()

{

intn,reverse=0,rem,temp;

printf("Enteraninteger:

");

scanf("%d",&n);

temp=n;

while(temp!

=0)

{

rem=temp%10;

reverse=reverse*10+rem;

temp/=10;

}

/*Checkingifnumberenteredbyuserandit'sreversenumberisequal.*/

if(reverse==n)

printf("%disapalindrome.",n);

else

printf("%disnotapalindrome.",n);

return0;

}

结果输出:

Enteraninteger:

12321

12321isapalindrome.

3、质数检查

注:

1既不是质数也不是合数。

源代码:

/*Cprogramtocheckwhetheranumberisprimeornot.*/

#include

intmain()

{

intn,i,flag=0;

printf("Enterapositiveinteger:

");

scanf("%d",&n);

for(i=2;i<=n/2;++i)

{

if(n%i==0)

{

flag=1;

break;

}

}

if(flag==0)

printf("%disaprimenumber.",n);

else

printf("%disnotaprimenumber.",n);

return0;

}

结果输出:

Enterapositiveinteger:

29

29isaprimenumber.

4、打印金字塔和三角形

使用*建立三角形

*

**

***

****

*****

源代码:

#include

intmain()

{

inti,j,rows;

printf("Enterthenumberofrows:

");

scanf("%d",&rows);

for(i=1;i<=rows;++i)

{

for(j=1;j<=i;++j)

{

printf("*");

}

printf("\n");

}

return0;

}

如下图所示使用数字打印半金字塔。

1

12

123

1234

12345

源代码:

#include

intmain()

{

inti,j,rows;

printf("Enterthenumberofrows:

");

scanf("%d",&rows);

for(i=1;i<=rows;++i)

{

for(j=1;j<=i;++j)

{

printf("%d",j);

}

printf("\n");

}

return0;

}

用*打印半金字塔

*****

****

***

**

*

源代码:

#include

intmain()

{

inti,j,rows;

printf("Enterthenumberofrows:

");

scanf("%d",&rows);

for(i=rows;i>=1;--i)

{

for(j=1;j<=i;++j)

{

printf("*");

}

printf("\n");

}

return0;

}

用*打印金字塔

*

***

*****

*******

*********

源代码:

#include

intmain()

{

inti,space,rows,k=0;

printf("Enterthenumberofrows:

");

scanf("%d",&rows);

for(i=1;i<=rows;++i)

{

for(space=1;space<=rows-i;++space)

{

printf("");

}

while(k!

=2*i-1)

{

printf("*");

++k;

}

k=0;

printf("\n");

}

return0;

}

用*打印倒金字塔

*********

*******

*****

***

*

源代码:

#include

intmain()

{

introws,i,j,space;

printf("Enternumberofrows:

");

scanf("%d",&rows);

for(i=rows;i>=1;--i)

{

for(space=0;space

printf("");

for(j=i;j<=2*i-1;++j)

printf("*");

for(j=0;j

printf("*");

printf("\n");

}

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1