fork download
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. void mydiv(int dividend, int divisor, int* quotient, int* remainder)
  5. {
  6. *quotient = dividend / divisor;
  7. *remainder = dividend - *quotient * divisor;
  8. }
  9.  
  10. int testData[][2] =
  11. {
  12. { +5, +3 },
  13. { +5, -3 },
  14. { -5, +3 },
  15. { -5, -3 },
  16. };
  17.  
  18. int main(void)
  19. {
  20. unsigned i;
  21. for (i = 0; i < sizeof(testData)/sizeof(testData[0]); i++)
  22. {
  23. div_t res1, res2;
  24. res1 = div(testData[i][0], testData[i][1]);
  25. mydiv(testData[i][0], testData[i][1], &res2.quot, &res2.rem);
  26. printf("%+d/%+d = %+d:%+d %c= %+d:%+d\n",
  27. testData[i][0], testData[i][1],
  28. res1.quot, res1.rem,
  29. "!="[res1.quot == res2.quot && res1.rem == res2.rem],
  30. res2.quot, res2.rem);
  31. }
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
+5/+3 = +1:+2 == +1:+2
+5/-3 = -1:+2 == -1:+2
-5/+3 = -1:-2 == -1:-2
-5/-3 = +1:-2 == +1:-2