fork download
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int nums[8]={1,5,8,2,5,3,4,7};
  6. int cnums = 8;
  7. char ops[7]={'+','-','/','*','+','-','*'};
  8. int cops=7;
  9. int flag =1;
  10. int i,j;
  11.  
  12. printf("%d ",nums[0]);
  13. for(j=1;j<cnums;j++)
  14. printf("%c %d ",ops[j-1], nums[j]);
  15. printf("\n");
  16.  
  17. while(flag)
  18. {
  19. flag=0;
  20. for(i=0;i<cnums;i++)
  21. if(ops[i]=='*' || ops[i]=='/')
  22. {
  23. if(ops[i]=='*')
  24. nums[i]*=nums[i+1];
  25. else
  26. nums[i]/=nums[i+1];
  27. flag=1;
  28.  
  29. for(j=i;j<cops;j++)
  30. {
  31. ops[j]=ops[j+1];
  32. nums[j+1]=nums[j+2];
  33. }
  34. cnums--;
  35. cops--;
  36.  
  37. printf("%d ",nums[0]);
  38. for(j=1;j<cnums;j++)
  39. printf("%c %d ",ops[j-1], nums[j]);
  40. printf("\n");
  41. break;
  42. }
  43. }
  44.  
  45. flag=1;
  46. while(flag)
  47. {
  48. flag=0;
  49. for(i=0;i<cnums;i++)
  50. if(ops[i]=='+' || ops[i]=='-')
  51. {
  52. if(ops[i]=='+')
  53. nums[i]+=nums[i+1];
  54. else
  55. nums[i]-=nums[i+1];
  56. flag=1;
  57.  
  58. for(j=i;j<cops;j++)
  59. {
  60. ops[j]=ops[j+1];
  61. nums[j+1]=nums[j+2];
  62. }
  63. cnums--;
  64. cops--;
  65.  
  66. printf("%d ",nums[0]);
  67. for(j=1;j<cnums;j++)
  68. printf("%c %d ",ops[j-1], nums[j]);
  69. printf("\n");
  70. break;
  71. }
  72. }
  73.  
  74.  
  75. return 0;
  76. }
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
1 + 5 - 8 / 2 * 5 + 3 - 4 * 7 
1 + 5 - 4 * 5 + 3 - 4 * 7 
1 + 5 - 20 + 3 - 4 * 7 
1 + 5 - 20 + 3 - 28 
6 - 20 + 3 - 28 
-14 + 3 - 28 
-11 - 28 
-39