用c语言做的几道题(1) 具体点 分析好点

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:38:51
1.航空售票系统(要求命名为:航空售票系统.c)
一家小型航空公司为其新的自动化售票系统刚刚购进了一台计算机。总裁让你用C语言编写这个新系统的程序。你的任务是为这趟航班唯一的一架飞机(容量是10个座位)的每次飞行分配座位。
程序应该显示下面有两个选项的菜单:
please type 1 for “smoking”
please type 2 for “nonsmoking”
如果购票人键入了1,那么程序就在吸烟区给他分配一个座位(座号1~5);如果键入2,程序就在无烟区给他分配一个座位(座号6~10)。然后程序打印出该购票者所得的座号以及座位是在无烟区还是在吸烟区。
用一维数组表示该飞机中的座号表,把数组中的所有的元素初始化为0(表示所有得座位都是空的)。每分配一个座位后,把数组中相应的元素置为1(表示该座位已售出)。
程序不能把已售出的座位再分配给别人。当吸烟区满员后,应讯问购票人是否愿意被分配到无烟区。若愿意,就给他分配一个无烟区的座位,否则就打印出信息”next flight leaves in 3 hours”。
2. n阶魔方阵(要求命名为:n阶魔方阵.c)
所谓魔方阵是指这样的的方阵:它的每一行、每一列和对角线之和均相等。输入n,要求打印由自然数1到n2的自然数构成的魔方阵(n为奇数)。
例如,当n=3时,魔方阵为:
8 1 6
3 5 7
4 9 2
此题要求输入一个数据n, 然后打印出奇数阶魔方阵。

以下程序都已经编译运行通过:
1.航空售票系统
#include<stdio.h>
#include<conio.h>

int main()
{
int i=0,choose,a[10]={NULL};
char chr;

while(1)
{
printf("\nplease type 1 for “smoking” \n");
printf("please type 2 for “nonsmoking”\n");
printf("please type 3 for EXIT\n");

scanf("%d",&choose);

switch(choose)
{
case 1:
for (i=0;i<5;i++)
{
if(a[i]==0)
{
a[i]=1;
printf("\nYour Seat is %d\n",i+1);
break;
}
}
if(i==5)
{
printf("吸烟区满员,是否愿意被分配到无烟区?(Y=YES,N=NO): ");
chr=getch();
printf("%c",chr);
if(chr=='Y')
{
for (i=5;i<10;i++)
{
if(a[i]==0)
{
a[i]=1;