10人10红包,红包金额随机

  • Post author:
  • Post category:其他


第一种代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
char name(int i)					//存入人名用 
{
	char *name[10];
	name[0]="徐敏";
	name[1]="刘雨萌";
	name[2]="楚黎";
	name[3] ="Tom";
	name[4]="Lucy";
	name[5]="Jack";
	name[6]="ZY";
	name[7]="张仪";
	name[8]="王科";
	name[9]="杨怡"; 
	printf("%s\t",name[i]);
}
int main(void)						//排列和输出用 
{
	int i=0 ;
	int money[10];
	int j,k,IMoney[10],money1,num;
	printf("抢红包咯!\n"); 
	srand((unsigned int)time(NULL));
	for(i=0;i<10;i++)
	{
		name(i);					//用自定义name函数输出姓名 
		money[i]=rand()%10+1;		//将随机取出的金额存入数组 
		printf("%d元\n",money[i]);
		
	}
	//接下来我们进行排序
	for(j=0,k=0;j<10;j++,k++)		//先把按照顺序标注的i,存入一个数组 
	{
		IMoney[j]=k;
	}
	for(j=1;j<10;j++)				//外层循环下标1~9	//利用冒泡排序的方法将钱按照从小到大的顺序排列,与此同时原来的数组的序号不变,随着钱的大小移动而移动 
	{
		for(k=9;k>=j;k--)			//内层循环i~9 
		{
			if(money[k]<money[k-1])	//如果前一个数比后一个数大 
			{
				money1=money[k-1];	//就交换两个数组中的元素的次序 
				money[k-1]=money[k];
				money[k]=money1;
				num=IMoney[k-1];	//同时标号i的也要交换次序,但每个人所拥有的金额数字不变 
				IMoney[k-1]=IMoney[k];
				IMoney[k]=num;
				
			 } 
		}
	 } 
	 printf("手气最佳者为:\n");
	for(j=9,k=9;j>=0&&money[j]==money[j-1];j--,k--)
	{
		name(IMoney[k-1]);
		printf("%d 元",money[j-1]);
		printf("\n"); 
	}
	k=9;
	name(IMoney[k]);
	printf("%d元\n",money[k]);
	printf("\n");
	return 0;
 } 

第二种代码(未解决:简洁地同时输出多个手气最佳者)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
char name(int i)					//存入人名用 
{
	char *name[10];
	name[0]="徐敏";
	name[1]="刘雨萌";
	name[2]="楚黎";
	name[3] ="Tom";
	name[4]="Lucy";
	name[5]="Jack";
	name[6]="ZY";
	name[7]="张仪";
	name[8]="王科";
	name[9]="杨怡"; 
	printf("%s\t",name[i]);
}
int main(void)						//排列和输出用 
{
	int i=0 ;
	int money[10];
	int j,max;
	printf("抢红包咯!\n"); 
	srand((unsigned int)time(NULL));
	for(i=0;i<10;i++)
	{
		name(i);					//用自定义name函数输出姓名 
		money[i]=rand()%10+1;		//将随机取出的金额存入数组 
		printf("%d元\n",money[i]);
		if(money[i]>max)
		{
			max=money[i];
			j=i;
		}
	}
	printf("手气最佳者:");
	name(j);
	printf("%d元",max);

	return 0;
 } 



版权声明:本文为m0_70516348原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。