小明在校期间在冰雪大世界的售票处兼职售票,同时负责对每天卖出的门票的数量录入整理等职责。为了能让部门负责人更加方便的了解每天门票的销售情况,小明打算编写一个程序用来对这些天门票销售情况进行管理。
请帮小明编写一个程序,由用户从键盘输入连续n天门票的销售情况,天数在0-100之间,门票的数量在0-10000(包含0和10000),然后统计销售量最高那天卖出的门票数,以及将这n天的门票销售数量进行升序排序(门票销售数量按照从低到高排列),要求采用数组,并按如下函数原型编写程序。假设每天卖出的门票数量均不相同。
//计算并返回n天中门票销售数量的最大值
int MaxTicketNumber(int tickets[], int n);
//计算并返回n天销售门票数量的排序(升序,门票数量按照从低到高排列)
void Sort(int tickets[], int n);
输入提示信息:"Enter the day number:\n"
输入提示信息:"Enter the ticket number between(0<=n<=10000):\n"
输入数据格式:"%d"
输出最高的售票数量的数据格式:"The highest ticket number is: %d\n"
输出升序排列的数据格式"The sorted ticket numbers are(low to high): "
程序运行实例1:
Enter the day number:
4↙
Enter the ticket number between(0<=n<=10000):
3455↙
#include <stdio.h>
int MaxTicketNumber(int tickets[], int n);
void Sort(int tickets[], int n);
int MaxTicketNumber(int tickets[], int n)
{
int max,i,j;
max=tickets[0];
for(i=0;i<n;i++)
{
if(max<tickets[i]) max=tickets[i];
}
return max;
}
void Sort(int a[], int m)
{
int i,j,k,temp;
for(i=0;i<m;i++)
{
k=i;
for(j=i+1;j<m;j++)
{
if(a[j]<a[k]) k=j;
}
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
int main()
{
int n,m;
int i,a[100];
printf("Enter the day number:\n");
scanf("%d",&n);
printf("Enter the ticket number between(0<=n<=10000):\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
m=MaxTicketNumber(a,n);
printf("The highest ticket number is: %d\n",m);
Sort(a,n);
printf("The sorted ticket numbers are(low to high): ");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
; }
}
6712↙
2314↙
7476↙
The highest ticket number is: 7476
The sorted ticket numbers are(low to high): 2314 3455 6712 7476