一對知名舞伴
1. 課程設計題目1:舞伴配對模擬
具體演算法及相關的類型定義
typedef struct{
char name[20];
char sex; //性別,'F'表示女性,'M'表示男性
}Person;
typedef Person DataType; //將隊列中元素的數據類型改為Person
void DancePartner(Person dancer[],int num)
{//結構數組dancer中存放跳舞的男女,num是跳舞的人數。
int i;
Person p;
CirQueue Mdancers,Fdancers;
InitQueue(&Mdancers);//男士隊列初始化
InitQueue(&Fdancers);//女士隊列初始化
for(i=0;i<num;i++){//依次將跳舞者依其性別入隊
p=dancer[i];
if(p.sex=='F')
EnQueue(&Fdancers.p); //排入女隊
else
EnQueue(&Mdancers.p); //排入男隊
}
printf("The dancing partners are: \n \n");
while(!QueueEmpty(&Fdancers)&&!QueueEmpty(&Mdancers)){
//依次輸入男女舞伴名
p=DeQueue(&Fdancers); //女士出隊
printf("%s ",p.name);//列印出隊女士名
p=DeQueue(&Mdancers); //男士出隊
printf("%s\n",p.name); //列印出隊男士名
}
if(!QueueEmpty(&Fdancers)){ //輸出女士剩餘人數及隊頭女士的名字
printf("\n There are %d women waitin for the next round.\n",Fdancers.count);
p=QueueFront(&Fdancers); //取隊頭
printf("%s will be the first to get a partner. \n",p.name);
}else
if(!QueueEmpty(&Mdancers)){//輸出男隊剩餘人數及隊頭者名字
printf("\n There are%d men waiting for the next round.\n",Mdacers.count);
p=QueueFront(&Mdancers);
printf("%s will be the first to get a partner.\n",p.name);
}
}//DancerPartners
參考程序如下,供大家閱讀:
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define MaxNumber 100
typedef struct{
char name[20];
char sex[4]; /*性別,『F』表示女性,『M』表示男性*/
}Person;
/* 將隊列中元素的數據類型改為Person*/
typedef struct
{ Person data[MaxNumber];
int front;
int rear;
}CirQueue;
CirQueue *InitQueue()
{ CirQueue *q;
q=(CirQueue*)malloc(sizeof(CirQueue));
q-> front=q-> rear=0;
return q;
}
int QueueEmpty(CirQueue *q)
{ return(q-> front==q-> rear);
}
int EnQueue(CirQueue *q,Person x)
{ if((q-> rear+1)%MaxNumber==q-> front)
{ printf( "\nOverflow !\n ");
return 0;
}
q-> data[q-> rear]=x;
q-> rear=(q-> rear+1)%MaxNumber;
return 1;
}
Person DeQueue(CirQueue *q)
{ Person x;
if(q-> front==q-> rear)
{ printf( "\nThe queue is empty ! Can 't delete !\n ");
return ;
}
x=q-> data[q-> front];
q-> front=(q-> front+1)%MaxNumber;
return x;
}
void DancePartner(Person dancer[],int num)
{ /*結構數組dancer中存放跳舞的男女,num是跳舞的人數*/
CirQueue *Mdancers,*Fdancers;
int i, count=0;
Person p;
Mdancers=InitQueue(); /*男士隊列初始化*/
Fdancers=InitQueue(); /*女士隊列初始化*/
for(i=0;i <num;i++) /*依次將跳舞者依其性別入隊*/
{
p=dancer[i];
if(strcmp(p.sex, "f ")==0)
EnQueue(Fdancers,p); /*排入女隊*/
else EnQueue(Mdancers,p); /*排入男隊*/
}
printf( "\nThe dancing partners are:\n ");
while(!QueueEmpty(Fdancers)&&!QueueEmpty(Mdancers))
{ /*依次輸入男女舞伴名*/
count++;
p=DeQueue(Fdancers); /*女士出隊*/
printf( "%s\t ",p.name); /*列印出隊女士名*/
p=DeQueue(Mdancers); /*男士出隊*/
printf( "%s\n ",p.name); /*列印出隊男士名*/
}
if(!QueueEmpty(Fdancers)) /*輸出女士剩餘人數及隊頭女士的名字*/
{
printf( "\n There are %d women waiting for the next round.\n
",num-2*count);
p=DeQueue(Fdancers);
printf( "%s will be the first to get a partner. \n ",p.name);
printf( "\n ");
}
if(!QueueEmpty(Mdancers)) /*輸出男隊剩餘人數及隊頭者名字*/
{
printf( "\n There are %d men waiting for the next round.\n
",num-2*count);
p=DeQueue(Mdancers);
printf( "%s will be the first to get a partner. \n ",p.name);
printf( "\n ");
}
}
int GetDancersInfo(Person dancer[])
{ int count=0;
Person p;
while (1)
{ printf( "Input the sex:\n ");
scanf( "%s ",p.sex);
if(strcmp(p.sex, "0 ")==0) break;
printf( "Input the name:\n ");
scanf( "%s ",p.name);
dancer[count]=p;
count++;
}
return count;
}
void main()
{ int DancersNum;
Person Dancers[MaxNumber];
DancersNum=GetDancersInfo(Dancers);
if(DancersNum!=0) DancePartner(Dancers,DancersNum);
getch();
}
2. 找一部本·斯蒂勒拍的電影,其中有個片段是他在一個宴會上跳舞,舞伴是個大胖子女人,他們和另外一對男女
糊塗偵探GetSmart(2008)
導演:彼得·西格爾
編劇:湯姆·J·阿瑟爾/馬特·恩貝爾/梅爾·布魯克斯專/巴可·亨利
主演:史蒂夫·卡瑞爾屬/安妮·海瑟薇/道恩·強森/艾倫·阿金/特倫斯·斯坦普
類型:喜劇/動作/冒險
製片國家/地區:美國
語言:英語/俄語
上映日期:2008-06-20(美國)
片長:110分鍾
又名:特務行不行/特務S嘜
你記錯了,是史蒂夫·卡瑞爾。
3. 我的舞伴又找了一個男舞伴,她已婚,與我發生了關系,現在不理我了,我想把她刪掉,我做的對嗎
這樣的人還留著跟自己添堵啊!速度刪掉
4. 小鄭家樓上有一對舞迷夫婦每天晚上都邀請舞伴跳舞到深夜更令�
他可以向樓上的人提意見啊 或者找居委會啊 有木有啊
5. 我的女朋友有一個跳舞的師傅 比她大十歲並且對她有意思 我讓她換舞伴不聯系以分手相要挾 她也不肯
零散說幾句話,我會說得直接嚴厲點,你選有用的聽。
1、你去管教她,你去挽回她,結果是你們要分手,你們每天都沒意思,那證明你這個所謂的干涉挽回,實際效果是把你女友推得越來越遠的!那你還不趕緊暫停你的方式?——這個從結果來推導你的行為的對錯,也就是說,哪怕你不清楚不接受這個邏輯,不明白為什麼自己的女朋友不能幹涉,你去做就行了,好嗎?否則等你想通了,你女友早沒了,而且是被你自己弄沒的。
2、我們經常有個思維:「我重要還是他重要?」你當然更重要啊!然後呢?你更重要就代表了其他的第二重要的就是廢物嗎?就要扔掉嗎?所以那句話問起來非常有底氣,但其實隱含的意思是非常過分的。對她來說,你第一重要,跳舞第二重要,師傅第三重要,有問題嗎?她的人生其他都不要了只能留下一個最重要的東西嗎?這個本來就是無腦的邏輯。
你女友問你她是不是你最重要的,然後讓你把房子燒了,把父母斷絕關系了,你做不做?你不做他說你沒把她當最重要的,你做了……你會覺得你幹嘛要做,她神經病吧,她最重要跟其他房子父母這些第二重要的、或者其他方面最重要的人和事,有屁關系啊?
3、關於你女友現在有沒有出軌,哪怕現在沒出軌但以後會不會出軌,這是你最關心的問題。我們來分析下。首先,你女友現在是沒問題的,哪怕和師傅非常有好感,非常默契,非常有曖昧發展的基礎,但現階段,她還是沒問題的,所以你的提前預防,在她那裡就是無端污衊、侮辱、干涉自由。你覺得你防範於未然是理性的,她覺得你吃飽了沒事干找茬吵架。能怪她嗎?不能!因為她現在就是沒問題的,反而是你不斷地侮辱她。
那怎麼辦呢?難道眼睜睜看著他們曖昧發展嗎?你所有的憤怒與干涉,都是基於這個想法來的。我現在告訴你,你最有力的挽回手段和干涉他們發展的手段,就是讓你自己變得更好,讓你自己對她更好!他們先認識都沒在一起,說明他們也不是天生一對的,但是你現在齜牙咧嘴的丑惡形象,只會讓你女友對比一看,覺得自己當時真是瞎了眼,明明師傅這么完美的男人,自己怎麼就沒發現呢!我知道在你心裡不爽、你女友「不自尊自愛」的情況下,讓你先低頭去討好她,對她更好,你可能心裡過不了關,覺得侮辱了你男人的自尊,其實不是的,因為你女友現在還是好的,只是她把握不了感情的變化,她不知道她以後可能慢慢就變心了,所以需要你這個聰明人來引導,如果你這個聰明人就是簡單粗暴去責罵,那誰也不是你的奴隸,幹嘛要聽你的。
4、最壞最壞的情況,他們就是要在一起,要背叛你,那你都努力過後了,你都對她好了,說明不是你的問題,那樣還會失去她的話,證明了就是她人渣啊,你完全不會心痛或者對愛情產生陰影,包管你會一身輕松,以一個更好的男人的形象去開始新的生活。她如果就是要背叛你,那你去挽回她,不是挽回一個人渣嗎?打算結婚了養別人的孩子嗎?所以,你現在不要去擔心他們怎麼發展,你該警告的都警告過了,接下來要做的,就是比那個師傅對她更好,就可以了。
5、如果你真的很愛很愛她,那麼,你應該知道戀愛是自由的,她不是你的,不是你的私人物品。哪怕她要分手,也是有權利的。換個角度來看,你原本就沒有她的,你從零開始慢慢擁有她的,如果以後分手,你們歸零,那麼現在你擁有她,是最美好的時期啊。你不要一直抱著這樣的心態,她就是你的,她就是你一個人的,所以她稍微分一點注意力到其他人身上,你就覺得是你身上的肉被人挖了,須知,如果她不認可你,那你是沒資格影響她一分一毫的。這就是事實,事實就是你可能對她沒有一點權力,而不是你以為的你對她有百分百的權利。
總結:想走的留不住,勉強的問題更多,做好你自己,思維變一變。
6. 一對舞伴跳舞因一方有病到至死亡另一方有責任嗎
這個的話應該是沒有責任的。
但是道德上很容易受到譴責。很容易自己良心過不去。
7. 一個男人對她的舞伴說,「你以後與別人跳舞不與我跳舞我們見面是陌路人,我不會再理你了。「說這話的男人
他喜歡他舞伴啊
8. 利用循環隊列模擬舞伴配對問題:在舞會上,男、女各自排成一隊。舞會開始時。依次從男隊和女隊的隊頭各出
理工軟體的啊?
我倒是做出來了,給你個~
#include<stdio.h>
#define queuesize 100
typedef struct //定義結構體
{
char name[20];
char sex;
} datatype;
typedef struct //定義結構體隊列
{
int front;
int rear;
int count;
datatype dancers[queuesize];
} cirqueue;
void initqueue(cirqueue *q)//建立空隊列//
{
q->front=q->rear=NULL;
q->count=0;
}
int queueempty(cirqueue *q)//判斷隊列是否為空,為空返回1,否則返回0//
{
return q->count==NULL;
}
void enqueue(cirqueue *q,datatype p)//進隊函數,使p進入隊列//
{
q->count++;
q->dancers[q->rear]=p;
q->rear=(q->rear+1)%queuesize;
}
datatype dequeue(cirqueue *q)//出隊函數,用p返回出隊值//
{
datatype p;
while(!queueempty(q))
{
p=q->dancers[q->front];
q->count--;
q->front=(q->front++)%queuesize;
return p;
}
}
datatype queuefront(cirqueue *q)//訪問隊頭元素//
{
return q->dancers[q->front];
}
void dancepartners(datatype dancers[],int num)//舞伴配對函數//
{
int i;
datatype p;
cirqueue maledancer,femaledancer;//定義兩個循環隊列結構體//
initqueue(&maledancer);//調用initqueue()函數置空隊列maledancer//
initqueue(&femaledancer);//調用initqueue()函數置空隊列femaledancer//
for(i=0;i<num;i++)
{
p=dancers[i];//結構體整體賦值//
if(p.sex=='f')//女的進隊列femaledancer//
{
enqueue(&femaledancer,p);
printf("%s進女隊\n",p.name);
}
else//男的進隊列maledancer//
{
enqueue(&maledancer,p);
printf("%s進男隊\n",p.name);
}
}
printf("配對情況如下:\n");
while (!queueempty(&femaledancer)&&!queueempty(&maledancer))//當兩個隊列都不為空時,出隊配對//
{
p=dequeue(&maledancer);
printf("男:%s",p.name);
p=dequeue(&femaledancer);
printf("和女:%s配對成功\n",p.name);
}
if(!queueempty(&femaledancer))//女隊不為空,輸出女隊第一個等待人姓名//
{
printf("女隊中還有%d個人在等待!\n",femaledancer.count);
p=queuefront(&femaledancer);
printf("女隊中第一個等待的是:%s\n",p.name);
}
else if(!queueempty(&maledancer))//男隊不為空,輸出男隊第一個等待人姓名//
{
printf("男隊中還有%d個人在等待!\n",maledancer.count);
p=queuefront(&maledancer);
printf("男隊中第一個等待的是:%s\n",p.name);
}
else printf("沒有人剩餘!\n");
}
void main()
{
datatype p,dancers[queuesize];
int i,num;
printf("輸入男女dancer的總人數:\n");
scanf("%d",&num);
printf("輸入姓名和性別,如: \nzhangsan\nm\n");
for(i=0;i<num;i++)
{
scanf("%s",&dancers[i].name);
getchar();
scanf("%c",&dancers[i].sex);
if(dancers[i].sex!='f'&&dancers[i].sex!='m')//判斷輸入信息是否合法//
printf("第%d個人的信息有誤,請重新輸入",i--);
}
dancepartners(&dancers[0],num);
getchar();
}
9. 假設有一對拉丁舞伴長期合作,女伴已婚,男伴未婚,如果男伴在已經知道對方已有家庭的情況下是否還會大膽
這個要看的問題就很多了,一種米養百種人你是知道的。這沒人能回答,專他給你的感覺是屬什麼呢?跟著感覺走,要是我真的很喜歡這個伴但是對方有家庭了我還是不會去追求她的,默默保存在心裡保持一定的距離,若是她離婚又另當別說
10. 舞廳內 只有n對夫妻,男女都任意選舞伴共舞,求至少有一對夫妻共舞的概率
如果你認可我的回答,敬請及時採納,回到你的提問頁,點擊我的回答,在右上角點擊「回評價」,答然後就可以選擇「滿意,問題已經完美解決」了。
如果有其他問題請採納本題後,另外發並點擊我的頭像向我求助,答題不易,請諒解,謝謝。