2025.6GESP四级(编程题详解)
第一题:
题目:画布裁剪
思路:
首先用一个char类型二维数组存储输入的矩阵,然后由图中可以看出题目要的部分宽是x1~x2、长是y1~y2,最后循环输出即可。
代码:
#include<iostream>
using namespace std;
int n,m;
int x1,y1,x2,y2;
char c[1005][1005];
int main(){cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>c[i][j];}}for(int i=x1;i<=x2;i++){for(int j=y1;j<=y2;j++){cout<<c[i][j];}cout<<endl;}return 0;
}
第二题:
题目:排序 
思路:
本题可用冒泡排序和逆序对两种方法解答,此处用逆序对讲解。循环遍历每一个元素的身高数值然后循环遍历后面元素的身高数值判断是否有比当前元素大的如果有计数器加一,如果后面某个元素的身高数值与当前元素的身高数值相等判断体重如果后面的那个元素体重值比当前元素体重值大计数器加一,最后输出计数器里面的值。
代码:
#include<iostream>
using namespace std;
int h[1005],w[1005];
int n,cnt;
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>h[i]>>w[i];}for(int i=1;i<=n;i++){for(int j=i;j<=n;j++){if(h[i]<h[j]||h[i]==h[j]&&w[i]<w[j]){cnt++;}}}cout<<cnt;return 0;
}