还是直接在循环条件里加就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; }