pa04.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Do not modify this file.
  3. */
  4. #include "pa04.h"
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. int main(int argc, char * * argv)
  9. {
  10. printf("input file format:\n<method> <value to partition>\n\n");
  11. printf("methods:\n1. All\n2. Increasing\n3. Decreasing\n4. Odd\n5. Even\n6. OddAndEven\n7. Prime\n\n");
  12. if (argc < 2)
  13. {
  14. printf("usage: ./pa04 <input file>\n");
  15. return EXIT_FAILURE;
  16. }
  17. FILE* fin = fopen(argv[1], "r");
  18. if (!fin)
  19. {
  20. printf("file error\n");
  21. return EXIT_FAILURE;
  22. }
  23. int val = 1;
  24. int method = 0;
  25. fscanf(fin, "%d", &method);
  26. fscanf(fin, "%d", &val);
  27. printf("current method: %d\ncurrent value: %d\nStart Partitioning...\n", method, val);
  28. switch(method)
  29. {
  30. case 1: partitionAll(val);
  31. break;
  32. case 2: partitionIncreasing(val);
  33. break;
  34. case 3: partitionDecreasing(val);
  35. break;
  36. case 4: partitionOdd(val);
  37. break;
  38. case 5: partitionEven(val);
  39. break;
  40. case 6: partitionOddAndEven(val);
  41. break;
  42. case 7: partitionPrime(val);
  43. break;
  44. }
  45. fclose(fin);
  46. return EXIT_SUCCESS;
  47. }