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语言随机抽取幸运观众的完整程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)