10年高级语言常用算法汇总Word文档格式.docx

上传人:b****4 文档编号:7173548 上传时间:2023-05-08 格式:DOCX 页数:19 大小:33.17KB
下载 相关 举报
10年高级语言常用算法汇总Word文档格式.docx_第1页
第1页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第2页
第2页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第3页
第3页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第4页
第4页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第5页
第5页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第6页
第6页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第7页
第7页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第8页
第8页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第9页
第9页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第10页
第10页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第11页
第11页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第12页
第12页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第13页
第13页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第14页
第14页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第15页
第15页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第16页
第16页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第17页
第17页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第18页
第18页 / 共19页
10年高级语言常用算法汇总Word文档格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

10年高级语言常用算法汇总Word文档格式.docx

《10年高级语言常用算法汇总Word文档格式.docx》由会员分享,可在线阅读,更多相关《10年高级语言常用算法汇总Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。

10年高级语言常用算法汇总Word文档格式.docx

n-a;

ST"

S"

3.素数判定

函数调用:

intprime(intn)

for(intj=2;

j<

=n/2;

j++)

if(n%j==0)

return0;

if(j==n)

return1;

intm;

cout<

输入m的值:

cin>

>

m;

if(prime(m))

cout<

是素数"

else

不是素数"

不用函数调用:

4.级数逼近:

求π的近似值,精确到小数点后6位

doublea=3,s=1,b=0,i=1;

while(a<

=100)

i*=(-1);

b=i*(1/a);

s+=b;

a=a+2;

s=(int)(s*1000000);

s=s/1000000;

s<

return0;

4.百钱买百鸡:

一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少,要求三种鸡都必须买

#include<

for(inti=1;

i<

=20;

i++)

for(intj=1;

=31;

j++)

for(intk=1;

k<

=98;

k++)

if(5*i+3*j+k/3-100)

continue;

if(i+j+k-100)

if(k%3)

cout<

cock:

hen:

chick:

5.Fibonacci数列

书P107-108

6.求两个最大公约数

inta,b,c,d;

输入两个数:

cin>

a>

b;

c=a*b;

while((d=a%b)!

=0)

a=b;

b=d;

最大公约数为:

7.进制转换

十进制转八进制:

voidd8b(unsignedintn)

if(n<

=7)

n;

else

d8b(n/8);

n%8;

inta;

输入一个数:

d8b(a);

8.一维数据中求最大值、最小值

inta[5];

intmax=a[0],maxPos=0;

intmin=a[0],minPos=0;

输入数组a,共5个数:

for(intn=0;

n<

5;

n++)

cin>

a[n];

for(inti=1;

if(max<

=a[i])

{

max=a[i];

maxPos=i;

}

elseif(min>

min=a[i];

minPos=i;

for(intb=0;

a["

]="

a[b]<

数组a中最大元素是:

maxPos<

a[maxPos]<

数组a中最小元素是:

minPos<

a[minPos]<

9.数组排序(选择、冒泡)

选择:

voidselsort(intdata[],intn);

inta[]={20,40,-50,7,13};

intn=sizeof(a)/sizeof(int);

selsort(a,n);

for(intj=0;

a[j]<

\t"

voidselsort(intdata[],intn)

intmin,k,temp;

for(inti=0;

n-1;

min=data[i];

k=i;

for(intj=i+1;

if(min>

data[j])

{

min=data[j];

k=j;

}

temp=data[i];

data[i]=data[k];

data[k]=temp;

冒泡:

voidbubblesort(intdata[],intn);

bubblesort(a,n);

voidbubblesort(intdata[],intn)

inttemp;

i++)

for(intj=0;

n-i;

if(data[j]>

data[j+1])

temp=data[j];

data[j]=data[j+1];

data[j+1]=temp;

10.有序数组的插入、删除

插入:

iostream.h>

inti,j,Array[7]={1,2,4,5,6,7};

显示原始数据:

for(intm=0;

m<

sizeof(Array)/4-1;

m++)

Array[m]<

请输入你要插入的数字:

cin>

j;

for(intn=sizeof(Array)/4-2;

n>

0;

n--)

if(Array[n]>

=j)

Array[n+1]=Array[n];

else

Array[n+1]=j;

break;

显示修改后数据:

for(i=0;

sizeof(Array)/4;

Array[i]<

return0;

删除:

cstring>

chars[100]="

Ilovethisprogram."

charc;

请输入要删除的字符:

c=cin.get();

inti,j;

for(i=j=0;

s[i]!

='

\0'

if(s[i]!

=c)

s[j]=s[i];

j++;

s[j]='

删除后的字符串为:

11.数组中数据的移动

12.二维数组中的鞍点:

找出一个矩阵M[5][8]中的鞍点的行号和列号,鞍点是满足所在行中是最大的而所在列中是最小的元素

inta[5][8];

请输入数组a[5][8]的值"

inti,j;

for(i=0;

for(j=0;

8;

a[i][j];

intc=0;

for(i=0;

5;

i++)

intmax,min,k;

for(max=0,j=0;

j<

5;

j++)

if(a[i][max]<

a[i][j])

max=j;

for(min=0,k=0;

k<

8;

k++)

if(a[min][max]>

a[k][max])

min=k;

if(min==i)

a[i][max]<

c++;

if(c==0)

NO"

13.二维数组的乘法

inta[2][2];

intb[2][2];

intc[2][2];

请输入数组a[2][2]的值"

2;

请输入b[2][2]的值:

b[i][j];

c[i][j]=0;

for(intk=0;

c[i][j]+=a[i][k]*b[k][j];

请输出矩阵a[m][n]与矩阵b[u][v]乘积的值:

c[i][j]<

14.能用指针、数组写字符串的比较、连接、复制

连接:

voidstrcat(chara[],charb[]);

intmain(void)

chara[50],b[50];

输入两个字符串:

\n"

strcat(a,b);

voidstrcat(chara[],charb[])

charc[100];

for(i=0;

a[i]!

c[i]=a[i];

for(j=0;

b[j]!

{

c[i]=b[j];

i++;

c[i]='

c<

比较:

#include<

intstrcmp(char*str1,char*str2)

while(*str1||*str2)

if(*str1>

*str2)

return1;

if(*str1<

return-1;

else

*str1++;

*str2++;

}

charstr1[100];

charstr2[100];

intresult=0;

输入一串字符:

cin.getline(str1,100);

cin.getline(str2,100);

result=strcmp(str1,str2);

if(result==1)

字符串1大"

if(result==-1)

字符串2大"

if(result==0)

字符串1,2一样大"

复制:

voidstrcpy(char*str1,char*str2);

charstr[20];

strcpy(str,"

abcdefg"

);

str<

voidstrcpy(char*str1,char*str2)

while(*str2!

*str1=*str2;

str1++;

str2++;

*str1='

注意:

要求能函数中实现算法6~14题,必要时能提供函数返回值

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

当前位置:首页 > 医药卫生 > 基础医学

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

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