64,642
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include <iostream>
using namespace std;
typedef unsigned char BYTE;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"请输入0-9之间的数:";
char i;
cin>>i;
while (i < '0' || i > '9') {
cout<<"请输入0-9之间的数:";
cin>>i;
}
int num = 2 * (i-48) + 1;
BYTE* arry = new BYTE[num];
// 初始化数组,并输出第一行
for(int j = 0; j < num; j++) {
arry[j] = (i-48);
cout<<(i-48)<<" ";
}
cout<<endl;
int mid = num / 2 + 1;
for(int j = 1; j < num; j++) { // 修改数组中数据
int tmp = num - j;
if(j < mid) {
for(int z = j; z < tmp; z++)
arry[z] -= 1;
}
else {
for(int z = tmp; z < j; z++)
arry[z] += 1;
}
// 修改后,输出这一行
for(int s = 0; s < num; s++) {
cout<<(short)arry[s]<<" ";
}
cout<<endl;
}
delete[] arry;
return 0;
}