
1001 - 1100 题过于简单,请自行探索。
绝大多数代码都可以AC,编写过程中可能有纰漏。
1101 问题 L: 零基础学C/C++101——最大数与数列最后一个数交换
#includeusing namespace std; int main(){ int n; while(cin>>n){ int a[110]={},max0=-1,post0=-1; for(int i=1;i<=n;i++){ cin>>a[i]; if(max0 1106 问题 M: 零基础学C/C++106——进制转换
#includeusing namespace std; int flag; string intToA(int n,int radix){ flag=-1; if(n<0){ flag=1; n=-n; } string ans=""; do{ int t=n%radix; if(t>=0&&t<=9) ans+=t+'0'; else ans+=t-10+'A'; n/=radix; }while(n!=0); reverse(ans.begin(),ans.end()); return ans; } int main(){ int n,m; while(cin>>n>>m){ string a=intToA(n,m); if(flag==1) cout<<'-'; cout< 1108 问题 N: 零基础学C/C++108——程序设计竞赛
#includeusing namespace std; int main(){ int n; while(cin>>n){ int a[100]={}; for(int i=0;i >a[i]; sort(a,a+n); for(int i=n-1;i>=0;i--) cout< 1109 问题 O: 零基础学C/C++109——省赛归来
#includeusing namespace std; int main(){ int n; while(cin>>n and n!=0){ int a[100]={}; for(int i=0;i >a[i]; for(int i=0;i 1110 问题 A: 零基础学C/C++110——N个数从小到大排序
#includeusing namespace std; int main(){ int n; while(cin>>n and n!=0){ int a[100]={}; for(int i=0;i >a[i]; sort(a,a+n); for(int i=n-1;i>=0;i--) cout< 1111 问题 B: 零基础学C/C++111——N个数从大到小排序
#includeusing namespace std; int main(){ int n; while(cin>>n and n!=0){ int a[100]={}; for(int i=0;i >a[i]; sort(a,a+n); for(int i=0;i 1112 问题 C: 零基础学C/C++112——偶数排序
#includeusing namespace std; int main(){ int n; while(cin>>n and n!=0){ int a[100]={},x,j=0; for(int i=0;i >x; if(x%2==0)a[j++]=x; } sort(a,a+j); for(int i=j-1;i>=0;i--) cout< 1113 问题 D: 零基础学C/C++113——并列排名
#includeusing namespace std; bool cmp(int x,int y){ return x>y; } int main(){ int n; while(cin>>n){ int a[100]={},p; for(int i=0;i >a[i]; cin>>p; sort(a,a+n,cmp); for(int i=0;i 1114 问题 E: 零基础学C/C++114——直接插入排序
#includeusing namespace std; int main(){ int t; cin>>t; for(int q=0;q >n; for(int i=0;i >a[i]; int k; for(int i=1;i =0;j--){ k=0; if(a[i]>=a[j]){ k=j+1; cnt++; break; } else cnt++; } int b=a[i]; for(int j=i;j>k;j--) a[j]=a[j-1]; a[k]=b; } cout< 1115 问题 F: 零基础学C/C++115——校友捐款
#includeusing namespace std; int main(){ int n; while(cin>>n){ int a[1000]={},sum=0,max0=-1; for(int i=0;i >a[i]; sum+=a[i]; max0=max(max0,a[i]); } sort(a,a+n); cout< =0;i--) cout< 1116 问题 A: 零基础学C/C++116——矩阵转置
#includeusing namespace std; int main(){ int n,m; while(cin>>n>>m){ int a[15][15]={}; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++) cout< 1117 问题 B: 零基础学C/C++117——输出矩阵
#includeusing namespace std; int main(){ int n,m; while(cin>>n>>m){ int k=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) cout<<++k<<" "; cout< 1118 问题 C: 零基础学C/C++118——弓型矩阵
#includeusing namespace std; int main(){ int n,m; while(cin>>n>>m){ int p=0,q=0; for(int i=1;i<=n;i++){ if(i%2==1){ for(int j=1;j<=m;j++) printf("%2d ",++p); } else{ p+=m+1; for(int j=1;j<=m;j++) printf("%2d ",--p); p+=m-1; } cout< 1119 问题 D: 零基础学C/C++119——矩阵整理
#includeusing namespace std; int main(){ int m,n; while(cin>>m>>n){ int a[15][15]={},sum; for(int i=1;i<=m;i++){ sum=0; for(int j=1;j<=n;j++){ cin>>a[i][j]; sum+=a[i][j]; } a[i][n+1]=sum; } for(int j=1;j<=n+1;j++) cout< 1120 问题 E: 零基础学C/C++120——矩阵对角线求和
#includeusing namespace std; int main(){ int n; while(cin>>n){ int a[15][15]={},sum1=0,sum2=0,p=n+1; for(int i=1;i<=n;i++){ p--; for(int j=1;j<=n;j++){ cin>>a[i][j];//其实用不到数组2333 if(i==j)sum1+=a[i][j]; if(j==p)sum2+=a[i][j]; } } cout< 1121 问题 F: 零基础学C/C++121——判断是否上三角矩阵
#includeusing namespace std; int main(){ int n; while(cin>>n){ int a[15][15]={},p,f=-1; for(int i=1;i<=n;i++){ p=i-1; for(int j=1;j<=n;j++){ cin>>a[i][j]; if(j<=p and a[i][j]!=0) f=1; } } if(f==1) cout<<"NO"; else cout<<"YES"; cout<
未完待续 2021.10.31122 问题 G: 零基础学C/C++122——杨辉三角
#includeusing namespace std; #define LL unsigned long long int main(){ int n; while(cin>>n){ if(n==1){ cout<<"1nn"; continue; } LL a[100][100]={}; for(int i=1;i<=n;i++){ a[i][1]=1; a[i][i]=1; } cout<<"1n"; cout<<"1 1n"; for(int i=3;i<=n;i++){ cout<<"1 "; for(int j=2;j 1123 问题 H: 零基础学C/C++123——矩阵鞍点
AC 100% 代码(借用了网上的思路)
#includeusing namespace std; int main(){ int n; while(cin>>n){ int i,j,a[6][6]; for(i=0;i >a[i][j]; int k=0,y=0,flag=-1,p=0; if(n==1) cout<<"0 0n"; else{ for(i=0;i a[j][k]){ y=j; break; } if(i==y){ flag=0; break; } } if(flag==0) printf("%d %dn",i,k); else cout<<"NOn"; } } return 0; } AC 80% 代码
#includeusing namespace std; int main(){ int n; while(cin>>n){ int a[15][15]={}; int x[15]={},y[15]={},p1[15]={},p2[15]={},q1[15]={},q2[15]={}; memset(x,-1,sizeof(x)); memset(y,100,sizeof(y)); for(int i=0;i >a[i][j]; if(x[i]a[i][j]){ y[j]=a[i][j]; q1[j]=i; q2[j]=j; } } } int f=-1; for(int i=0;i 1124 问题 I: 零基础学C/C++124——海选女主角
这道题 题目真***恶心
#include#define LL long long using namespace std; int main(){ int n,m; while(cin>>n>>m){ int p,q; LL max0=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ LL tmp; cin>>tmp; if( abs(max0) < abs(tmp) ){ max0=tmp; p=i;q=j; } } } printf("%d %d %lldn",p,q,max0); } return 0; } 1125 问题 J: 零基础学C/C++125——矩阵乘积
#include#include using namespace std; int main(){ int a[15][15],b[15][15],c[15][15]={}; int m,n,i,j,k; while(cin>>m>>n){ memset(c,0,sizeof(c)); for(i=0;i >a[i][j]; for(i=0;i >b[i][j]; for(i=0;i
未完待续 21.10.41126 问题 A: 零基础学C/C++126——回型矩阵
这道题折磨了我半天
#include#include using namespace std; int n,m,i,j; int a[20][20],b[20][20]; void init0(){ for(i=0;i<20;i++) for(j=0;j<20;j++){ a[i][j]=0;b[i][j]=-1; } for(i=0;i<=n+1;i++){ b[i][0]=1; b[i][m+1]=1; } for(j=0;j<=m+1;j++){ b[0][j]=1; b[n+1][j]=1; } } void outa(){ for(i=1;i<=n;i++){ for(j=1;j<=m;j++) printf("%2d ",a[i][j]); cout< >n>>m){ init0(); int x=1,y=1,k=0; ex=0;ey=0; while(k 1127 问题 B: 零基础学C/C++127——矩阵下三角元素之和
#includeusing namespace std; long long n,i,j,sum,x; int main(){ while(cin>>n){ sum=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++){ cin>>x; if(j<=i) sum+=x; } cout< 1128 问题 C: 零基础学C/C++128——矩阵计算
又臭又长的代码
#include#include using namespace std; int n,a[100][100],b[100][100],c[100][100]; int r1,c1,r2,c2,i,j,p1,q1,k; char s[5]; void output(int x,int y){ for(int i=0;i >r1>>c1; for(i=0;i >a[i][j]; cin>>r2>>c2; for(i=0;i >b[i][j]; } int main(){ cin>>n; while(n--){ init(); while(cin>>s){ if(s[0]=='e') break; if(s[0]=='-'){ memset(c,0,sizeof(c)); for(i=0;i 1129 问题 D: 零基础学C/C++129——蛇行矩阵
#includeusing namespace std; int n,k,i,j,x,y; int kmax; void KMAX(){ kmax=0; for(i=1;i<=n;i++) kmax+=i; } int main(){ while(cin>>n){ KMAX(); k=0; x=1;y=1; int a[110][110]; while(k 1130 问题 E: 零基础学C/C++130——二维数组右上角乘以x
#includeusing namespace std; long long n,x,i,j; long long a[15][15]; int main(){ while(cin>>n>>x){ for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ cin>>a[i][j]; if(j>=i) a[i][j]*=x; } } for(i=1;i<=n;i++){ for(j=1;j 1131 问题 F: 零基础学C/C++131——二维数组左下角置0
#includeusing namespace std; int n,i,j; long long a[15][15]; int main(){ while(cin>>n){ for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ cin>>a[i][j]; if(j<=i) a[i][j]=0; } } for(i=1;i<=n;i++){ for(j=1;j 1132 问题 G: 零基础学C/C++132——边界均值
#includeusing namespace std; long long n,i,j; double sum,k; long long a[15][15]; int main(){ while(cin>>n){ sum=0; k=0; for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ cin>>a[i][j]; if(i==1 or i==n or j==1 or j==n){ sum+=a[i][j]; k++; } } } printf("%.2fn",sum/k); } return 0; } 1133 问题 H: 零基础学C/C++133——矩阵A+A’
#includeusing namespace std; long long n,i,j; long long a[15][15],b[15][15]; int main(){ while(cin>>n){ for(i=1;i<=n;i++) for(j=1;j<=n;j++) cin>>a[i][j]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) b[i][j]=a[j][i]; for(i=1;i<=n;i++){ for(j=1;j 1134 问题 I: 零基础学C/C++134——对称矩阵
#includeusing namespace std; long long n,i,j,flag; long long a[15][15],b[15][15]; int main(){ while(cin>>n){ flag=-1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) cin>>a[i][j]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) b[i][j]=a[j][i]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(a[i][j]!=b[i][j]) flag=1; if(flag==1) printf("Non"); else printf("Yesn"); } return 0; } 1135 问题 J: 零基础学C/C++135——稀疏矩阵
#includeusing namespace std; int n,m,i,j,x; double d; int a[1010][1010]; int main(){ while(cin>>n>>m>>d){ x=0; for(i=0;i >a[i][j]; if(a[i][j]==0)x++; } double rate=(double) ( (double) (n*m-x)/(double) (n*m) ); if(rate 未完待续 21.10.5