假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。
输入:
第一行两队的人数; 第二行舞曲的数目。
输出:
配对情况。
测试输入:
4 6 7
预期输出:
1 1 2 2 3 3 4 4 1 5 2 6 3 1
干就完了!
#include<stdio.h>
int main()
{ int l,r,n,i,j=1,line=0;
scanf("%d%d%d",&l,&r,&n); //输入左右人数,输出列数
if(l==0||r==0); //憨憨行为,有一列有0人
else{
int c[r];
for(j=1;j<=boy;j++) //让右边第几人就是数字几
{
c[0]=0;
c[j]=j;}
j=1;
for(i=1;i<=l;i++)
{
printf("%d %d\n",i,c[j]); //output
if(j==r)
j=0;
j+=1;
line+=1;
if(line==n)
break;
if(i==l)
i=0;
}
}
return 0;
}
不得不承认确实高效(搞笑),!!!一定要考虑好在开始。!!!
再来!
#include <stdio.h>
int main ()
{
int l,r,n,i,j=1,k=1;
scanf("%d%d%d",&l,&r,&n);
int le[l],ri[r];
if(l==0||r==0);
else{
for(i=0;i<n;i++)
{
le[i]=j;
ri[i]=k;
if(j==l) j=0;
if(k==r) k=0;
j++;
k++;
printf("%d %d\n",le[i],ri[i]);
} }
return 0;
}
看起来简单了一些!