fork(3) download
  1. #include <stdio.h>
  2.  
  3. int main (){
  4. int n;
  5. scanf ("%d",&n);
  6. while (n!=0){
  7. int valorini=0, valorfim=n-1, valor=1, matriz[n][n];
  8. if (n==1) printf (" 1\n \n");
  9. else{
  10. for (int i=0; i<n-1; i++){
  11. for (int j=valorini; j<=valorfim; j++){
  12. matriz[valorini][j]=valor;
  13. matriz[valorfim][j]=valor;
  14. matriz[j][valorini]=valor;
  15. matriz[j][valorfim]=valor;
  16. }
  17. valor++;
  18. valorini++;
  19. valorfim--;
  20. }
  21.  
  22. for (int i=0; i<n; i++){
  23. for (int j=0; j<n; j++){
  24. printf (" ");
  25. printf ("%3d", matriz[i][j]);
  26.  
  27. }
  28. printf ("\n");
  29. }
  30.  
  31. printf (" \n");
  32. }
  33.  
  34. scanf ("%d",&n);
  35. }
  36. return 0;
  37. }
  38.  
  39.  
Success #stdin #stdout 0s 3300KB
stdin
3
1
4
5
6
0
stdout
   1   1   1
   1   2   1
   1   1   1
 
   1
   
   1   1   1   1
   1   2   2   1
   1   2   2   1
   1   1   1   1
 
   1   1   1   1   1
   1   2   2   2   1
   1   2   3   2   1
   1   2   2   2   1
   1   1   1   1   1
 
   1   1   1   1   1   1
   1   2   2   2   2   1
   1   2   3   3   2   1
   1   2   3   3   2   1
   1   2   2   2   2   1
   1   1   1   1   1   1