还是直接在循环条件里加就j!=k;
k!=nNum就可以了啊,不要使用那么复杂的if语句,不好懂
k!=nNum就可以了啊,不要使用那么复杂的if语句,不好懂
程序代码:#include <stdio.h>
#define MAXSIZE 3
#define TOP 0
#define BOTTOM 2
#define LEFT 0
#define RIGHT 2
void MagicBox(int (*Matrix)[3]) {
int row , col ;
int i = 0 , j = 1 , cnt ;
Matrix[i][j] = 1 ;
for (cnt = 2 ; cnt <= MAXSIZE * MAXSIZE ; cnt++) {
col = j - 1 < LEFT ? RIGHT : j - 1 ;
row = i - 1 < TOP ? BOTTOM : i - 1 ;
if (Matrix[row][col] )
i = ++i % MAXSIZE ;
else {
i = row ;
j = j - 1 < LEFT ? RIGHT : --j ;
}
Matrix[i][j] = cnt ;
}
return ;
}
int main(void) {
int Matrix[MAXSIZE][MAXSIZE] = {0} ;
int i , j ;
MagicBox(Matrix) ;
for (i = 0 ; i < MAXSIZE ; i++) {
for (j = 0 ; j < MAXSIZE ; j++)
printf("%d " ,Matrix[i][j]) ;
printf("\n") ;
}
return 0 ;
}


程序代码:#include <stdio.h>
int main(void){
int a[9]={1,2,3,4,5,6,7,8,9};
int num=0;
int *p1,*p2,*p3;
for(p1=a;p1<a+9;p1++)
for(p2=p1+1;p2<a+9;p2++)
for(p3=p2+1;p3<a+9;p3++)
if(*p1+*p2+*p3 ==15){
num++;
printf("%d %d %d\n",*p1,*p2,*p3);
}
printf("%d\n",num);
getch();
return 0;
}

程序代码:#include <stdio.h>
int main(void){
int a[9]={1,2,3,4,5,6,7,8,9};
int num=0,i;
int *p1,*p2;
for(p1=a;p1<a+9;p1++)
for(p2=p1+1;p2<a+9;p2++){
i=15-*p1-*p2;
if(i<=9 && i>=*p2 && i!=*p2){
num++;
printf("%d %d %d\n",*p1,*p2,i);
}
}
printf("%d\n",num);
getch();
return 0;
}
