题目:
*****************************************************************************************************************************************************************************************解题思路:
首先,这个题要定义两个数组,用来储存两次输入,奇数时和偶数时。
在奇数次输入时,只进行输入。
在偶数次输入时,进行输入后要判断两数组长度进行输出。
*注意在总次数为奇数时要处理最后一次的输出。
*注意在输出时讨论两组数组都为空的情况。
*注意初始化数组。
*****************************************************************************************************************************************************************************************
给出代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int a[1010],b[1010],c[1010],add[1010];
int m,n,i,j,k,x1,x2;
k=1;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
while(scanf("%d",&n)!=EOF)
{
if(k==1)
{ if(n==0)
{
x1=n;
}
else
{
for(i=1;i<=n;i++)
{ x1=n;
scanf("%d",&a[i]);
}
}
k++;
}
else
{
if(k%2==0)
{ x2=n;
k++;
if(x1==0&&x2==0)
{
printf("\n");
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
else{
for(i=1;i<=n;i++)
{
scanf("%d",&b[i]);
}
if(x1>=x2)
{
for(i=1;i<=x1;i++)
{
if(i==1)
printf("%d",a[i]+b[i]);
else
printf(" %d",a[i]+b[i]);
}
}
else
{
for(i=1;i<=x2;i++)
{
if(i==1)
printf("%d",a[i]+b[i]);
else
printf(" %d",a[i]+b[i]);
}
}
printf("\n");
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
}
else
{
if(n==0)
{
x1=n;
}
else
{
for(i=1;i<=n;i++)
{ x1=n;
scanf("%d",&a[i]);
}
}
k++;
}
}
}
if(k%2==0)
{
if(x1==0)
printf("\n");
else
{
for(i=1;i<=x1;i++)
{
if(i==1)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
printf("\n");
}
}
return 0;
}