在线法官给我一个问题。问题是: 两个男孩去花园收集芒果。两个小时后,第一个男孩收集了x个芒果,第二个男孩收集了y个芒果。您必须编写代码来给出芒果的总和。
输入:
每个行输入都有两个整数x和y。
输出:
打印他们芒果的总和。我需要用C解决。
样本:
33 33-66
2 20-22
999 1-1000
我的书面代码是:
#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;
}
答案 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;
}