fork download
  1. #include <stdio.h>
  2.  
  3. char list[10];
  4.  
  5. void show(int n) {
  6. printf("(%c", list[0]);
  7. for (int i = 1; i < n; i++)
  8. printf(",%c", list[i]);
  9.  
  10. printf(")\n");
  11. }
  12.  
  13. void Swap(int k, int i) {
  14. int temp = list[k];
  15. list[k] = list[i];
  16. list[i] = temp;
  17. }
  18.  
  19. void Perm(int k, int n) {
  20. if(k == n) {
  21. show(n);
  22. } else {
  23. for(int i = k; i < n; i++) {
  24. Swap(k, i);
  25. Perm(k + 1, n);
  26. Swap(i, k);
  27. }
  28. }
  29. }
  30.  
  31. int main(void) {
  32. int num;
  33.  
  34. scanf("%d", &num);
  35.  
  36. for(int i = 0; i < num; i++)
  37. list[i] = '1' + i;
  38. Perm(0, num);
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
()