C语言 编写一个程序 两个球队进行比赛,甲队有a,b,c三人,乙队x,y,z三人,抽签进行比赛,听

C语言 编写一个程序 两个球队进行比赛,甲队有a,b,c三人,乙队x,y,z三人,抽签进行比赛,听,第1张

int main(int argc, _TCHAR argv[])

{

 char buff2[3]={'x','y','z'};

 int i,j,k;

 char team[3];

 for(i=0;i<=2;i++) //穷举

 {

  team[0]=buff2[i];

  for(j=0;j<=2;j++)

  {

   team[1]=buff2[j];

   for(k=0;k<=2;k++)

   {

    team[2]=buff2[k];

    if(i==j || i==k || j==k) //不可一人出场两次

     continue;

    if(team[0]=='x') //a不和x比

     continue;

    if(team[2]=='x' || team[2]=='z') //c不和x\z比

     continue;

    printf("[a,%c] [b,%c] [c,%c]",team[0],team[1],team[2]);

   }

  }

 }

 return 0;

#include

<stdioh>

#include<stdlibh>

#include<timeh>

main()

{

int

a;

srand(time(0));

a=rand()%100+1;/这个a的值就是你要的随机整数,100表示生成数的范围,可自己改,要生成多个的话只要用循环就行了/

printf("%d\n",a);

}

/C语言随机抽取幸运观众的完整程序/

#include <stdioh>

#include <timeh>

#include <stdlibh>

#define MAX_COUNT 100

void main()

{

int option = 0;

srand((unsigned)time(NULL));

while(1)

{

printf("\n");

printf("1 产生幸运观众\n2 退出\n");

printf("请输入选项(1~2): ");

scanf("%d", &option);

switch(option)

{

case 1:

printf("幸运观众是: %d 号\n", rand() % MAX_COUNT);

case 2:

exit(0);

}

}

}

#include "stdioh"const int LEN=30,M=100,N=100; typedef struct { int num;//抽签号码 char name[LEN];//姓名 float score;//得分 } player; player players[M];//歌手信息int a[M][N];//评委打分信息int m,n;//歌手和评委数量//输入歌手信息和评委打分信息void input(void){ int i,j;printf("歌手数量:"); scanf("%d",&m); printf("评委数量:"); scanf("%d",&n); for(i=0;i<m;i++) { players[i]num=i+1; printf("第%d个歌手的姓名:",i+1); scanf("%d",&players[i]name); printf("第%d个歌手的评委打分:",i+1); for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } }}//求平均值(去掉一个最高分,去掉一个最低高分,求出其余n-2个分数的平均值 void calculate(void){ float max,min; int i,j; for(i=0;i<m;i++) { max=min=players[i]score=a[i][0]; for(j=1;j<n;j++) { players[i]score+=a[i][j]; if(max<a[i][j]) { max=a[i][j]; } if(min>a[i][j]) { min=a[i][j]; } } if(n>2) { players[i]score=(players[i]score-max-min)/(n-2); } else if(n>0) { players[i]score/=n; } } }//对各个选手的得分,用冒泡法排序 //如果用快速排序或堆排序,把这段改写一下就行了void sort(void){ int i,j; for(i=0;i<m-1;i++) { for(j=m-1;j>i;j--) { if(players[j]score>players[j-1]score) { player tmp; tmp=players[j]; players[j]=players[j-1]; players[j-1]=tmp; } } } }//显示所有原始数据void show_origin(void){ int i,j; printf("\n"); for(i=0;i<m;i++) { printf("抽签号码:%d ",players[i]num);; printf("姓名:%d ",players[i]name); printf("评委打分:"); for(j=0;j<n;j++) { printf("%d ",a[i][j]); } printf("\n"); } }//显示所有歌手的信息 void show_player(void){ int i; printf("\n"); for(i=0;i<m;i++) { printf("抽签号码:%d ",players[i]num); printf("姓名:%d ",players[i]name); printf("得分:%f\n",players[i]score); } }//显示获奖歌手的信息 int main() { input(); show_origin(); calculate(); show_player(); sort(); return 0; }

源程序代码以及算法解释如下:

产生1-10随机数程序:

#include <iostream>

#include <timeh>

using namespace std;

int main()

{

const int n = 10;//定义随机数个数

int number[n] = { NULL };//定义随机数存储的数组

srand((unsigned)time(NULL));//初始化随机函数

number[0] = rand() % n;//第一个随机数无需比较

cout << number[0] << " ";

for (int i = 1; i < n; i++)//其余随机数循环产生

{

int j = 0;

number[i] = rand() % n;//产生随机数

while (1)

{

if (number[i] == number[j])//若有相同则继续循环重新安排随机数

{

number[i] = rand() % n;//产生随机数

j = 0;//若遇到相同的就从头遍历

continue;

}

if (j == (i - 1))//若遍历完就跳出

break;

j++;

}

cout << number[i] << " ";

}

cout << endl;

return 0;

}

程序运行结果如下:

扩展资料:

利用vector进行随机数输出:

#include <iostream>

#include <vector>

#include <timeh>

using namespace std;

int main()

{

const int n = 10;

int randnum;

vector<int> number;

for (int i = 0; i < n; i++)

{

numberpush_back(i + 1);    //从尾部添加元素

cout << number[i] << " ";

}

cout << endl;

srand((unsigned)time(NULL));

for (int j = 0; j < n; j++)     //其余随机数循环产生

{

randnum = rand() % (n - j);    //rand函数生成的随机数是0-(n-1)

cout << numberat(randnum) << " ";

numbererase(numberbegin() + randnum);

}

cout << endl;

return 0;

}

以上就是关于C语言 编写一个程序 两个球队进行比赛,甲队有a,b,c三人,乙队x,y,z三人,抽签进行比赛,听全部的内容,包括:C语言 编写一个程序 两个球队进行比赛,甲队有a,b,c三人,乙队x,y,z三人,抽签进行比赛,听、如何用C语言编写个1到100的随机取数程序、急求一道C语言随机抽取幸运观众的完整程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10209978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存