第 4 章 数组
1.查找特定的值#includebits/stdc.h using namespace std; int main(){ int a[105],n,x; cinn; for(int i0;in;i)cina[i]; cinx; for(int i0;in;i){ if(a[i]x){ coutiendl; return 0; } } cout-1endl; return 0; }2.数组逆序重存放#includebits/stdc.h using namespace std; int main(){ int a[105],b[105],n; cinn; for(int i0;in;i)cina[i]; for(int i0;in;i)b[i]a[n-1-i]; for(int i0;in;i)coutb[i] ; return 0; }3.向量点积计算#includebits/stdc.h using namespace std; int main(){ int a[105],b[105],n,sum0; cinn; for(int i0;in;i)cina[i]; for(int i0;in;i)cinb[i]; for(int i0;in;i)suma[i]*b[i]; coutsumendl; return 0; }4.年龄与疾病#includebits/stdc.h using namespace std; int main(){ int n,x,a0,b0,c0,d0; cinn; for(int i0;in;i){ cinx; if(x18)a; else if(x35)b; else if(x60)c; else d; } printf(%.2lf%%\n,1.0*a/n*100); printf(%.2lf%%\n,1.0*b/n*100); printf(%.2lf%%\n,1.0*c/n*100); printf(%.2lf%%\n,1.0*d/n*100); return 0; }5.开关灯#includebits/stdc.h using namespace std; int main(){ int n,m; cinnm; int a[105]{0}; for(int i1;im;i){ for(int ji;jn;ji)a[j]!a[j]; } for(int i1;in;i){ if(a[i])couti ; } return 0; }6.⼩⻥⽐可爱#includebits/stdc.h using namespace std; int main(){ int a[105],n; cinn; for(int i0;in;i)cina[i]; for(int i0;in;i){ int cnt0; for(int j0;ji;j)if(a[j]a[i])cnt; coutcnt ; } return 0; }7.冒泡排序#includebits/stdc.h using namespace std; int main(){ int a[105],n; cinn; for(int i0;in;i)cina[i]; for(int i0;in;i){ for(int j0;jn-i-1;j){ if(a[j]a[j1])swap(a[j],a[j1]); } } for(int i0;in;i)couta[i] ; return 0; }8.杨辉三⻆#includebits/stdc.h using namespace std; int main(){ int n; cinn; int a[35][35]{0}; for(int i0;in;i){ a[i][0]1; a[i][i]1; for(int j1;ji;j){ a[i][j]a[i-1][j-1]a[i-1][j]; } } for(int i0;in;i){ for(int j0;ji;j)couta[i][j] ; coutendl; } return 0; }9.矩阵交换⾏#includebits/stdc.h using namespace std; int main(){ int a[105][105],n,m,x,y; cinnm; for(int i0;in;i) for(int j0;jm;j)cina[i][j]; cinxy;x--;y--; for(int j0;jm;j)swap(a[x][j],a[y][j]); for(int i0;in;i){ for(int j0;jm;j)couta[i][j] ; coutendl; } return 0; }10.图像相似度#includebits/stdc.h using namespace std; int main(){ int a[105][105],b[105][105],n,m,cnt0; cinnm; for(int i0;in;i) for(int j0;jm;j)cina[i][j]; for(int i0;in;i) for(int j0;jm;j)cinb[i][j]; for(int i0;in;i) for(int j0;jm;j)if(a[i][j]b[i][j])cnt; printf(%.2lf\n,1.0*cnt/n/m*100); return 0; }11.矩阵加法#includebits/stdc.h using namespace std; int main(){ int a[105][105],b[105][105],n,m; cinnm; for(int i0;in;i) for(int j0;jm;j)cina[i][j]; for(int i0;in;i) for(int j0;jm;j)cinb[i][j]; for(int i0;in;i){ for(int j0;jm;j)couta[i][j]b[i][j] ; coutendl; } return 0; }12.矩阵转置#includebits/stdc.h using namespace std; int main(){ int a[105][105],n,m; cinnm; for(int i0;in;i) for(int j0;jm;j)cina[i][j]; for(int j0;jm;j){ for(int i0;in;i)couta[i][j] ; coutendl; } return 0; }13.计算矩阵边缘元素之和#includebits/stdc.h using namespace std; int main(){ int a[105][105],n,m,sum0; cinnm; for(int i0;in;i) for(int j0;jm;j)cina[i][j]; for(int i0;in;i){ for(int j0;jm;j){ if(i0||in-1||j0||jm-1)suma[i][j]; } } coutsumendl; return 0; }14.图像模糊处理#includebits/stdc.h using namespace std; int main(){ int a[105][105],b[105][105],n,m; cinnm; for(int i0;in;i) for(int j0;jm;j)cina[i][j]; for(int i0;in;i){ for(int j0;jm;j){ int cnt0,s0; for(int dx-1;dx1;dx){ for(int dy-1;dy1;dy){ int xidx,yjdy; if(x0xny0ym){ sa[x][y];cnt; } } } b[i][j]s/cnt; } } for(int i0;in;i){ for(int j0;jm;j)coutb[i][j] ; coutendl; } return 0; }15.彩票摇奖#includebits/stdc.h using namespace std; int main(){ int a[10],b[10],cnt0; for(int i0;i7;i)cina[i]; for(int i0;i7;i)cinb[i]; for(int i0;i7;i){ for(int j0;j7;j){ if(a[i]b[j]){cnt;break;} } } if(cnt7)cout1; else if(cnt6)cout2; else if(cnt5)cout3; else if(cnt4)cout4; else if(cnt3)cout5; else cout6; return 0; }16.⾃动修正#includebits/stdc.h using namespace std; int main(){ string s; getline(cin,s); for(int i0;is.size();i){ if(s[i]1)s[i]l; else if(s[i]0)s[i]o; else if(s[i]2)s[i]z; } coutsendl; return 0; }17.统计数字字符个数#includebits/stdc.h using namespace std; int main(){ string s; getline(cin,s); int cnt0; for(int i0;is.size();i){ if(s[i]0s[i]9)cnt; } coutcntendl; return 0; }18.整理药名#includebits/stdc.h using namespace std; int main(){ string s; cins; s[0]toupper(s[0]); for(int i1;is.size();i)s[i]tolower(s[i]); coutsendl; return 0; }19.基因相关性#includebits/stdc.h using namespace std; int main(){ string a,b; cinab; int cnt0; for(int i0;ia.size();i){ if(a[i]b[i])cnt; } double p1.0*cnt/a.size()*100; printf(%.2lf%%\n,p); return 0; }20.输出亲朋字符串#includebits/stdc.h using namespace std; int main(){ string s; cins; for(int i0;is.size();i){ couts[i]s[i]; } return 0; }21.验证⼦串22.找第⼀个只出现⼀次的字符#includebits/stdc.h using namespace std; int main(){ string s; cins; int cnt[256]{0}; for(int i0;is.size();i)cnt[s[i]]; for(int i0;is.size();i){ if(cnt[s[i]]1){ couts[i]endl; return 0; } } coutnoendl; return 0; }