解题思路:
可以将整个DNA链看成是一个个小的DNA片段组合在一起的,先用数组存储一个小的DNA片段,然后可以选择一种输出方式。
先将第一个DNA片段正常输出,其他的所有DNA片段均不输出第一行。
先将第一行输出,所有的DNA片段均不输出第一行。
注意事项:
每一组输出数据之后都有一个换行,被我注释掉的代码是第一种输出方式。
参考代码:
#includeusing namespace std; int main(){ int x,n,m;//x表示输入数据行数,n表示链行数,m表示重复次数 cin>>x; while(x--){ cin>>n>>m; int t=m/*t=m-1*/; char a[n][n]; //用a数组存储一个没有重复的链 for(int i=0;i<n;i++) for(int j=0;j<n;j++){ if(j==i||j==n-i-1) a[i][j]='X'; else a[i][j]=' '; } //将第一个链完整输出 /*for(int i=0;i<n;i++){ for(int j=0;j<n;j++) cout<<a[i][j]; cout<<endl; }*/ for(int j=0;j<n;j++) cout<<a[0][j]; cout<<endl; //除第一个外,其他的去掉第一行再输出 while(t--){ for(int i=1;i<n;i++){ for(int j=0;j<n;j++) cout<<a[i][j]; cout<<endl; } } cout<<endl; } return 0; }
0.0分
0 人评分