c/c++练习–11
- 习题来源:C语言经典编程282例
101.设计魔方阵
魔方阵就是由自然数组成方阵,方阵的每个元素都不相等,且每行和每列以及主副对角线上的各元素之和都相等。
#include <iostream>
using namespace std;
#define N 3
int main(void){
int num[N][N]={
0};
int i=0,j=(N-1)/2;
for(int k=1;k<=N*N;){
if(i<0 && j==N ){
i+=2;
j--;
}else{
if(i<0) i =N-1;
else if(j>N-1) j=0;
else if(!num[i][j]) {
num[i][j] = k++;
i--;
j++;
}else{
i += 2;
j--;
}
}
}
for(int k=0;k<N;k++){
for (int l=0;l<N;l++)
cout<<num[k][l]<<'\t';
cout<<endl;
}
return(0);
}
102.字符升序排列
将已按升序排好的字符串a和字符串b按升序归并到字符串c中输出
#include <iostream>
using namespace std;
int main(void){
char a[100]={0},b[100]={0},c[200]={0},*ch_a=a,*ch_b=b;
int i=0;
scanf("%s %s",a,b);
while(*ch_a != 0 ||