10年高级语言常用算法汇总.docx
- 文档编号:10626053
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:19
- 大小:33.17KB
10年高级语言常用算法汇总.docx
《10年高级语言常用算法汇总.docx》由会员分享,可在线阅读,更多相关《10年高级语言常用算法汇总.docx(19页珍藏版)》请在冰豆网上搜索。
10年高级语言常用算法汇总
常用算法
1.循环控制图形输出下列图形:
#include
usingnamespacestd;
intmain()
{
inta,b,n=10;
for(a=0;a<=n;a++)
{
for(b=0;b<10-a;b++)
cout<<"";
for(b=0;b<=a;b++)
cout<<"#";
cout<<"";
for(b=0;b<=a;b++)
cout<<"$";
cout< } } 2.循环控制图形输出下列图形: #include usingnamespacestd; intmain() { inta,b,n=9; for(a=0;a<=n;a++) { for(b=0;b cout<<""; for(b=0;b cout<<"ST"; cout<<"S"; cout< } } 3.素数判定 函数调用: #include usingnamespacestd; intprime(intn) { for(intj=2;j<=n/2;j++) if(n%j==0) return0; if(j==n) return1; } intmain() { intm; cout<<"输入m的值: "; cin>>m; if(prime(m)) cout<<"是素数"; else cout<<"不是素数"; } 不用函数调用: 4.级数逼近: 求π的近似值,精确到小数点后6位 #include usingnamespacestd; intmain() { 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; cout< return0; } 4.百钱买百鸡: 一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少,要求三种鸡都必须买 #include usingnamespacestd; intmain() { for(inti=1;i<=20;i++) for(intj=1;j<=31;j++) for(intk=1;k<=98;k++) { if(5*i+3*j+k/3-100) continue; if(i+j+k-100) continue; if(k%3) continue; cout<<"cock: "< cout<<"hen: "< cout<<"chick: "< } } 5.Fibonacci数列 书P107-108 6.求两个最大公约数 #include usingnamespacestd; intmain() { inta,b,c,d; cout<<"输入两个数: "; cin>>a>>b; c=a*b; while((d=a%b)! =0) { a=b; b=d; } cout<<"最大公约数为: "< return0; } 7.进制转换 十进制转八进制: #include usingnamespacestd; voidd8b(unsignedintn) { if(n<=7) cout< else { d8b(n/8); cout< } } intmain() { inta; cout<<"输入一个数: "; cin>>a; d8b(a); cout< return0; } 8.一维数据中求最大值、最小值 #include usingnamespacestd; intmain() { inta[5]; intmax=a[0],maxPos=0; intmin=a[0],minPos=0; cout<<"输入数组a,共5个数: "; for(intn=0;n<5;n++) cin>>a[n]; for(inti=1;i<5;i++) { if(max<=a[i]) { max=a[i]; maxPos=i; } elseif(min>=a[i]) { min=a[i]; minPos=i; } } for(intb=0;b<5;b++) cout<<"a["< cout<<"数组a中最大元素是: a["< cout<<"数组a中最小元素是: a["< return0; } 9.数组排序(选择、冒泡) 选择: #include usingnamespacestd; voidselsort(intdata[],intn); intmain() { inta[]={20,40,-50,7,13}; intn=sizeof(a)/sizeof(int); selsort(a,n); for(intj=0;j cout< cout< return0; } voidselsort(intdata[],intn) { intmin,k,temp; for(inti=0;i { min=data[i]; k=i; for(intj=i+1;j if(min>data[j]) { min=data[j]; k=j; } temp=data[i]; data[i]=data[k]; data[k]=temp; } } 冒泡: #include usingnamespacestd; voidbubblesort(intdata[],intn); intmain() { inta[]={20,40,-50,7,13}; intn=sizeof(a)/sizeof(int); bubblesort(a,n); for(intj=0;j cout< cout< return0; } voidbubblesort(intdata[],intn) { inttemp; for(inti=0;i for(intj=0;j if(data[j]>data[j+1]) { temp=data[j]; data[j]=data[j+1]; data[j+1]=temp; } } 10.有序数组的插入、删除 插入: #include intmain() { inti,j,Array[7]={1,2,4,5,6,7}; cout<<"显示原始数据: "< for(intm=0;m cout< cout< cout<<"请输入你要插入的数字: "; 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; } cout<<"显示修改后数据: "< for(i=0;i cout< cout< return0; } 删除: #include #include usingnamespacestd; intmain() { chars[100]="Ilovethisprogram."; charc; cout<<"请输入要删除的字符: "; c=cin.get(); inti,j; for(i=j=0;s[i]! ='\0';i++) { if(s[i]! =c) { s[j]=s[i]; j++; } } s[j]='\0'; cout<<"删除后的字符串为: "< return0; } 11.数组中数据的移动 12.二维数组中的鞍点: 找出一个矩阵M[5][8]中的鞍点的行号和列号,鞍点是满足所在行中是最大的而所在列中是最小的元素 #include usingnamespacestd; intmain() { inta[5][8]; cout<<"请输入数组a[5][8]的值"< inti,j; for(i=0;i<5;i++) { for(j=0;j<8;j++) { cin>>a[i][j]; } } intc=0; for(i=0;i<5;i++) { intmax,min,k; for(max=0,j=0;j<5;j++) if(a[i][max] max=j; for(min=0,k=0;k<8;k++) { if(a[min][max]>a[k][max]) min=k; } if(min==i) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 年高 语言 常用 算法 汇总