c语言关于舞会跳舞问题,在周末舞会上,男士们(m人)和女士们(n人, n<m)进入舞厅时,各自排成一队。

2024-12-29 01:37:50
推荐回答(1个)
回答1:

其实你这程序我都没那么弄懂
你更注重技术上的东西
而我学习c语言更注重算法上的东西
也就是说你想通过简单的运算运用技巧性的东东让电脑帮你计算
而我是通过自己思考的算法让电脑表达出来
其实这两种思路都不矛盾的 各有所长
你这程序 人为设定了m,n 有局限性 也就是说可能不通用
我也试着写了些(如果题意没理解错的话)
其实题2用用题1的程序就行了 你再仔细想想 看看我的问题2
#include
#include
int gac(int m,int n,int y,int t)
{int x,z;
if((n*t/m)>0)
{z=(n*t%m+m-n+y);
if(z>m) z=z-m;
x=z;
}
else x=(n*t-n+y);
return x;
}

void main()
{int gac(int m,int n,int y,int t);
int m,n,y,t,a;
int x2,y2,t2,a2;
printf("问题1\n请输入男女生的人数,以逗号隔开\n");
scanf("%d,%d",&m,&n);
printf("请输入此时跳舞的女生号数\n");
scanf("%d",&y);
printf("请输入此时的曲数\n");
scanf("%d",&t);
a=gac(m,n,y,t);
printf("此时%d号女生的搭档是%d号男生\n",y,a);
printf("问题2\n请输入男主人公及其心仪女生的号数,并以逗号隔开\n");
scanf("%d,%d",&x2,&y2);
t=0;
do
{t++;
a2=gac(m,n,y2,t);}
while(a2!=x2);
printf("如果%d号男生想要与%d号女生跳舞,需要到第%d首曲子\n",x2,y2,t);
}