燕郊黑人:200分问题,首付100分,这三个题作出两个来就给分!

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 15:10:00
1 一元多项式计算** 任务:能够按照指数降序排列建立并输出多项式; 能够完成两个多项式的相加、相减,并将结果输入; 在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图) 、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;语言版
2 猴子选大王**(6,7只能选其中一个) 任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 要求: 输入数据:输入m,N, m,N 为整数,N<m 输出形式:中文提示按照m个猴子, n 个数的方法,输出为大王的猴子是几号 ,建立一个函数来实现此功能
3 建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以)** 任务: 要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数;
问题补充:我的邮箱是qqfoqqfo@gmail.com
谢谢!发到我信箱里也可以,说你们的名字,我给你分。
用c语言编,其他不行啊,这是老师要求的
100分问题网址http://zhidao.baidu.com/question/2517333.html

1.用链表用数组模拟都可以
2.基本的循环链表题。建立一个循环链表遍历一下就可以了
3.层序用队列,先序递归简单(虽然本质上是堆栈)

不会吧,你把这当成枪手了

1.建连表
2,用循环
3.队列
这样几不分好就行了

千万不要给代码

2:

char *a;
int m;
cout<<"输入猴子个数:"<<endl;
cin>>m;
a=new char[m];
cout<<"输入N:"<<endl;
int n;
cin>>n;
if(n>m)
{
cout<<"输入错误,必须小于M="<<m<<,重输入:"<<endl;
cin>>n;
}
for(int i=0;i<m;i++)
{
a[i]=1;
}
bool c=true;
for (int j=0;;j++)
{
for(int k=0;k<m;k++)
{
if(a[k]!=0)
{
c=false;
break;
}
else c=true;
}
if(c!=true)//判断退出
break;
if(j%n==0)
a[j%m]=0;

}
int result=j%m;
cout<<"最后猴子的序号是:"<<result<<endl;

---------------2-----------------
insert(int arry[],int address,int data)
{
int l=arry.length();
for(int i=l-1;i>address;i--)
{
arry[i]=arry[i-1];
}
arry[i]=data;
}

sort01(int a[])
{
int temp;
int l=a.length();
temp=a[0];
for(int i=1;i<l;i++)
{
if(a[i]<temp)
insert(a,i-1,temp);
temp=a[i];
}
}

------------------------------------
swap(int *x,int *y)
{
int temp;
temp=*x;
*y=temp
*x=*y;
}

l=a.length;
temp1=a[0];temp2=a[1];
for(int k=0;k<l;k++)
for(int i=k;i<l;i++)
{
if(a[i]>a[i+1])
swap(a[i],a[i+1);
}