fork download
  1. #include <stdio.h>
  2.  
  3.  
  4. #define TRUE 1
  5. #define FALSE 0
  6.  
  7.  
  8.  
  9. typedef struct a
  10. {
  11. unsigned char digit;
  12. unsigned char point;
  13. }A;
  14. void CreateStrForm(char *buffer, A *DATA, unsigned char Is_Signed)
  15. {
  16. unsigned char formLen = DATA->digit;
  17. if(DATA->point != 0) formLen += DATA->point + 1;
  18.  
  19. buffer[0] = '%';
  20. if(Is_Signed == TRUE)
  21. {
  22. formLen ++;
  23. buffer[1] = '0';
  24. buffer[2] = '+';
  25. buffer[3] = formLen + 48;
  26. buffer[4] = '.';
  27. buffer[5] = DATA->point + 48;
  28. buffer[6] = 'f';
  29. buffer[7] = '\0';
  30. }
  31. else
  32. {
  33. buffer[1] = '0';
  34. buffer[2] = formLen + 48;
  35. buffer[3] = '.';
  36. buffer[4] = DATA->point + 48;
  37. buffer[5] = 'f';
  38. buffer[6] = '\0';
  39. }
  40. }
  41. int main(void) {
  42. // your code goes here
  43. A data = {4, 1};
  44. char buffer[20] = "";
  45. CreateStrForm(buffer, &data, FALSE);
  46. printf("%s\n", buffer);
  47. return 0;
  48. }
Success #stdin #stdout 0s 4320KB
stdin
Standard input is empty
stdout
%06.1f