解决每行输入问题的线索

时间:2018-10-10 16:00:47

标签: c

在线法官给我一个问题。问题是: 两个男孩去花园收集芒果。两个小时后,第一个男孩收集了x个芒果,第二个男孩收集了y个芒果。您必须编写代码来给出芒果的总和。

输入:
每个行输入都有两个整数x和y。
输出:
打印他们芒果的总和。我需要用C解决。
样本:

33 33-66
2 20-22
999 1-1000

sample

我的书面代码是:

#include<stdio.h>
main(){
  int x,y,z;
  scanf("%d%d",&x,&y);
  while (x > 0 && y > 0  && x<10000 && y<10000) {
    z = x + y;
    printf("%d\n",z);

    scanf("%d%d",&x,&y);
  }
  return 0;
}

1 个答案:

答案 0 :(得分:0)

没有仔细检查,但这只是为了给您一个想法:

 #include<stdio.h>
 #include<string.h>
 #include<stdlib.h>
 #define SIZE 10

  int main(void)
  {
      int x,y;
      int inp;
      int ind=0;
      int count=0;
      int sum;
      char tempX[SIZE];
      char tempY[SIZE];
      char *ptr=tempX;
      int    loopCount=0;

      while((inp=getchar ())!=EOF)
      {
           if((inp>='0')&&(inp<='9'))
           {
                 if(count<SIZE-1)
                     ptr[count++]=inp;
                 else
                 {
                      printf("ERROR - EXCEEDED THE MAX SIZE");
                      return 0;
                 }
           }
           if(inp=='\n')
           {
                if(ind==0)
                {
                     x=atoi(tempX);
                     ptr=tempY;
                     ind=1;
                     ++loopCount;
                }
               else
               {
                     y=atoi(tempY);
                     ptr=tempX;
                     ind =0;     
                     ++loopCount;
                }
                memset(tempX,0,SIZE);
                memset(tempY,0,SIZE);
                count=0;
                if(loopCount%2==0)
                {
                    sum=x+y;
                    printf("Sum: %d\n",sum);
                    x=y=0;
                }
           }

        }

        return 0;
   }