wps.cpp 926 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<iostream>
  3. using namespace std;
  4. char num_buffer[7];
  5. typedef struct {
  6. double value;
  7. int pos;
  8. }Struct;
  9. int get_check_code(char* buffer)
  10. {
  11. memset((void*)num_buffer, 0, sizeof(char) * 7);
  12. memcpy((void*)num_buffer, buffer, sizeof(char) * 7);
  13. for (int i = 0; i < 7; i++) {
  14. num_buffer[i] -= '0';
  15. }
  16. int sum = 3 * (num_buffer[0] + num_buffer[2] + num_buffer[4] + num_buffer[6]) + num_buffer[1] + num_buffer[3] + num_buffer[5];
  17. int tmp = sum % 10;
  18. return 10 - tmp==10?0:10-tmp;
  19. }
  20. int main()
  21. {
  22. int num = 0;
  23. char buffer[10];
  24. FILE* fp = fopen("wps.txt", "w");
  25. while (num <=9999999)
  26. {
  27. if (num % 100000 == 0) {
  28. int rate = num / 100000;
  29. printf("%d%%\n", rate);
  30. }
  31. memset((void*)buffer, 0, sizeof(char) * 10);
  32. sprintf(buffer, "%07d", num);
  33. buffer[7]=get_check_code(buffer)+'0';
  34. fprintf(fp, "%s\n", buffer);
  35. num++;
  36. }
  37. printf("100%%\n");
  38. fflush(fp);
  39. fclose(fp);
  40. }