1.男、女、小孩到饭馆用餐,已知男宾士位餐费10元,女宾巿位餐费8元,小孩一位餐费5元,
若总共花了200元,编程求男宾、女宾、小孩各有多少人。要求程序能输出所有可能的答案。
void num()
{
int money = 200;
for(int m = 0; m <= 20; m++)
{
for(int n = 0; n <= 25; n++)
{
for(int c = 0; c <= 40; c++)
{
if(10*m+8*n+5*c == money)
{
printf("man:%d woman:%d child:%d\n",m,n,c);
}
}
}
}
return;
}
2.编程打印如下字符图形到屏幕上和字符文件abe,txt中。打印图形前,要求打印行数由键盘输入。
void printlogo()
{
FILE *p;
p = fopen("abc.txt", "w");
if(!p)
{
printf("Open flase!\n");
}
int x;
scanf("%d", &x);
for(int i = 1; i <= x; i++)
{
for(int r = 0; r < x-i ; r++)
{
printf(" ");
fprintf(p," ");
}
for(int j = 0; j < 2*i-1; j++)
{
printf("*");
fprintf(p,"*");
}
printf("\n");
fprintf(p,"\n");
}
return;
}
3.若二叉树来用三叉链表存储结构,其结点及结点指针数据类型定义如第二大题第16小题所示。
已知根结点地址root,各结点左、右儿子指针域lchild和 rchild已正确填充,编写算法函数,
形参传入根结点地址root,函数功能是将所有结点的双亲结点指针域parent正确填充。
void GetParent(tree* root)
{
tree *p = root;
if(p->lchild)
{
p->lchild->parent = p;
GetParent(p->lchild);
}
if(p->rchild)
{
p->rchild->parent = p;
GetParent(p->rchild);
}
return;
}