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

上传人:b****3 文档编号:6808816 上传时间:2023-05-07 格式:DOCX 页数:20 大小:242.79KB
下载 相关 举报
10个经典的C语言面试基础算法及代码Word格式.docx_第1页
第1页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第2页
第2页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第3页
第3页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第4页
第4页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第5页
第5页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第6页
第6页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第7页
第7页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第8页
第8页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第9页
第9页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第10页
第10页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第11页
第11页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第12页
第12页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第13页
第13页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第14页
第14页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第15页
第15页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第16页
第16页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第17页
第17页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第18页
第18页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第19页
第19页 / 共20页
10个经典的C语言面试基础算法及代码Word格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

n)

{

display=t1+t2;

t1=t2;

t2=display;

++count;

%d+"

display);

}

return0;

}

结果输出:

10

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

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

/*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/

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

Enteraninteger:

num);

while(display<

num)

200

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

2、回文检查

源代码:

/*Cprogramtocheckwhetheranumberispalindromeornot*/

intn,reverse=0,rem,temp;

&

temp=n;

while(temp!

=0)

rem=temp%10;

reverse=reverse*10+rem;

temp/=10;

}

/*Checkingifnumberenteredbyuserandit'

sreversenumberisequal.*/

if(reverse==n)

%disapalindrome."

n);

else

%disnotapalindrome."

12321

12321isapalindrome.

3、质数检查

注:

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

/*Cprogramtocheckwhetheranumberisprimeornot.*/

intn,i,flag=0;

Enterapositiveinteger:

for(i=2;

i<

=n/2;

++i)

if(n%i==0)

flag=1;

break;

if(flag==0)

%disaprimenumber."

%disnotaprimenumber."

29

29isaprimenumber.

4、打印金字塔和三角形

使用 

建立三角形

*

**

***

****

*****

inti,j,rows;

Enterthenumberofrows:

rows);

for(i=1;

=rows;

for(j=1;

j<

=i;

++j)

*"

\n"

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

1

12

123

1234

12345

%d"

j);

用*打印半金字塔

***

for(i=rows;

i>

=1;

--i)

用*打印金字塔

*

***

*****

*******

*********

inti,space,rows,k=0;

for(space=1;

space<

=rows-i;

++space)

while(k!

=2*i-1)

++k;

k=0;

用*打印倒金字塔

#include<

introws,i,j,space;

Enternumberofrows:

for(space=0;

rows-i;

for(j=i;

=2*i-1;

for(j=0;

i-1;

5、简单的加减乘除计算器

/*Sourcecodetocreateasimplecalculatorforaddition,subtraction,multiplicationanddivisionusingswitch...casestatementinCprogramming.*/

#include<

charo;

floatnum1,num2;

Enteroperatoreither+or-or*ordivide:

%c"

o);

Entertwooperands:

%f%f"

num1,&

num2);

switch(o){

case'

+'

:

%.1f+%.1f=%.1f"

num1,num2,num1+num2);

-'

%.1f-%.1f=%.1f"

num1,num2,num1-num2);

*'

%.1f*%.1f=%.1f"

num1,num2,num1*num2);

/'

%.1f/%.1f=%.1f"

num1,num2,num1/num2);

default:

/*Ifoperatorisotherthan+,-,*or/,errormessageisshown*/

Error!

operatorisnotcorrect"

-

3.4

8.4

3.4-8.4=-5.0

6、检查一个数能不能表示成两个质数之和

intprime(intn);

i<

++i)

if(prime(i)!

if(prime(n-i)!

%d=%d+%d\n"

n,i,n-i);

%dcan'

tbeexpressedassumoftwoprimenumbers."

intprime(intn)/*Functiontocheckprimenumber*/

inti,flag=1;

flag=0;

returnflag;

34

34=3+31

34=5+29

34=11+23

34=17+17

7、用递归的方式颠倒字符串

/*Exampletoreverseasentenceenteredbyuserwithoutusingstrings.*/

voidReverse();

Enterasentence:

Reverse();

voidReverse()

charc;

c);

if(c!

='

\n'

c);

margorpemosewa

awesomeprogram

8、实现二进制与十进制之间的相互转换

/*Cprogrammingsourcecodetoconverteitherbinarytodecimalordecimaltobinaryaccordingtodataenteredbyuser.*/

math.h>

intbinary_decimal(intn);

intdecimal_binary(intn);

intn;

Instructions:

1.Enteralphabet'

d'

toconvertbinarytodecimal.\n"

2.Enteralphabet'

b'

toconvertdecimaltobinary.\n"

if(c=='

||c=='

D'

Enterabinarynumber:

%dinbinary=%dindecimal"

n,binary_decimal(n));

B'

Enteradecimalnumber:

%dindecimal=%dinbinary"

n,decimal_binary(n));

intdecimal_binary(intn)/*Functiontoconvertdecimaltobinary.*/

intrem,i=1,binary=0;

while(n!

rem=n%2;

n/=2;

binary+=rem*i;

i*=10;

returnbinary;

intbinary_decimal(intn)/*Functiontoconvertbinarytodecimal.*/

intdecimal=0,i=0,rem;

rem=n%10;

n/=10;

decimal+=rem*pow(2,i);

++i;

returndecimal;

9、使用多维数组实现两个矩阵的相加

intmain(){

intr,c,a[100][100],b[100][100],sum[100][100],i,j;

Enternumberofrows(between1and100):

r);

Enternumberofcolumns(between1and100):

\nEnterelementsof1stmatrix:

/*Storingelementsoffirstmatrixenteredbyuser.*/

for(i=0;

r;

c;

Enterelementa%d%d:

i+1,j+1);

a[i][j]);

/*Storingelementsofsecondmatrixenteredbyuser.*/

Enterelementsof2ndmatrix:

b[i][j]);

/*AddingTwomatrices*/

sum[i][j]=a[i][j]+b[i][j];

/*Displayingtheresultantsummatrix.*/

\nSumoftwomatrixis:

\n\n"

sum[i][j]);

if(j==c-1)

\n\n"

10、矩阵转置

inta[10][10],trans[10][10],r,c,i,j;

Enterrowsandcolumnofmatrix:

%d%d"

r,&

/*Storingelementofmatrixenteredbyuserinarraya[][].*/

\nEnterelementsofmatrix:

j<

++j)

Enterelementsa%d%d:

/*Displayingthematrixa[][]*/

\nEnteredMatrix:

\n"

a[i][j]);

/*Findingtransposeofmatrixa[][]andstoringitinarraytrans[][].*/

trans[j][i]=a[i][j];

/*Displayingthetranspose,i.e,Displayingarraytrans[][].*/

\nTransposeofMatrix:

trans[i][j]);

if(j==r-1)

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2