fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. #define MAXSIZE 101
  6.  
  7. int main(){
  8. int arr[MAXSIZE]={0};
  9. char inp[1000];
  10. fgets(inp, 1000, stdin);
  11. char * ptr = strtok(inp," ");
  12. int status=1;
  13. int i=0;
  14. do
  15. {
  16. if(atoi(ptr)!=0){
  17. i++;
  18. arr[i]=atoi(ptr);
  19. }else{
  20. switch(ptr[0]){
  21. case '-':
  22. if(i>1){
  23. arr[i-1]=arr[i-1]-arr[i];
  24. i--;
  25. }else{
  26. status=0;
  27. }
  28. break;
  29. case '+':
  30. if(i>1){
  31. arr[i-1]=arr[i-1]+arr[i];
  32. i--;
  33. }else{
  34. status=0;
  35. }
  36. break;
  37. case '*':
  38. if(i>1){
  39. arr[i-1]=arr[i-1]*arr[i];
  40. i--;
  41. }else{
  42. status=0;
  43. }
  44. break;
  45. case '/':
  46. if(i>1){
  47. arr[i-1]=arr[i-1]/arr[i];
  48. i--;
  49. }else{
  50. status=0;
  51. }
  52. break;
  53. }
  54. }
  55. ptr = strtok(NULL, " ");
  56. }while (ptr != NULL && status==1);
  57. if(status && i==1){
  58. printf("%d", arr[1]);
  59. }else{
  60. printf("error");
  61. }
  62. }
Success #stdin #stdout 0.01s 5312KB
stdin
1 0 + 3 4 - 5 * +
stdout
error