日韩色综合-日韩色中色-日韩色在线-日韩色哟哟-国产ts在线视频-国产suv精品一区二区69

手機APP下載

您現在的位置: 首頁 > 考研英語 > 考研專業課 > 吉林大學 > 正文

吉林大學2001年c語言程序設計專業課考研真題試卷及答案(回憶版)

來源:可可英語 編輯:max ?  可可英語APP下載 |  可可官方微信:ikekenet

第一題
(1).返回數組a前n+1個元素中最大的元素。
(2).f(109)=99,
  f(97)=91.
(3). g(1,10)=4.
/*====================================================================================*/
/*函數名稱:2001_2.c                                  */
/*程序目的:將Ackrman函數改寫為非遞歸函數                       */
/*Writen by Apechn ,Soft Lab of JLU                          */
/*====================================================================================*/
//[解題思想]:用一個堆棧來實現遞歸過程。
long ack(int m,int n)
{
 int a[2000],top=-1; //a[2000]用來模擬堆棧,top為棧頂指針


 top++; //把m和n壓入堆棧
 a[top]=m;
 top++;
 a[top]=n;


 while(top!=0) //直到堆棧中只剩下一個元素為止
 {
  n=a[top];
  top--;
  m=a[top];
  top--;


  if(m==0)
  {
   top++;
   a[top]=n+1;
   continue;
  }


  if(n==0)
  {
   top++;
   a[top]=m-1;
   top++;
   a[top]=1;
   continue;
  }


  top++;
  a[top]=m-1;
  top++;
  a[top]=m;
  top++;
  a[top]=n-1;
 }


 return a[top]; //返回堆棧中最后一個數
}
/*====================================================================================*/
/*函數名稱:2001_3.c                                  */
/*程序目的:求給定字符表的對偶表                            */
/*Writen by Apechn ,Soft Lab of JLU                          */
/*====================================================================================*/
[解題思想]:把 L1和 L2兩個表分別掃描一遍,把掃描得到的數對放到對偶表中。最后再把對偶表中的相同元素刪除即可。
struct node //對偶表的結點結構
{
char x;
char y;
node* next;
}
node* head; //對偶表的頭指針
void del() //刪除函數,刪除相同元素
{
node *p=head,*q,*r;
whiel(p!=NULL)
{
q=p->next;
r=p;
while(q!=NULL)
{
if(p->x==q->x&&p->y==q->y)
{
r->next=q->next;
delete q;
q=r->next;
break;
}
else
{
r=q;
q=q->next;
}
}
p=p->next;
}
}
void fun(char L1[],char L2[]) //題目所求的函數
{
int i,j;
node* p;
for(i=0;i<m;i++) //把兩個表分別掃描一次
for(j=0;j{
p=new node; //從表頭插入結點
p->x=L1[i];
p->y=L2[j];
p->next=head;
head=p;
p=new node; //從表頭插入結點
p->x=L2[j];
p->y=L1[i];
p->next=head;
head=p;
}
del(); //刪除相同的元素
}

/*====================================================================================*/
/*函數名稱:2001_4.c                                  */
/*程序目的:寫出給定數組的螺旋數組                           */
/*Writen by Apechn ,Soft Lab of JLU                          */
/*====================================================================================*/
//[解題思想]:設一個方向變量orient,取值0、1、2、3分別代表往右、往下、往左、往上。當遇到邊界或當前//位置已經有東西時,調整方向。
//否則一直順著當前方向走下去。走到一個位置,把a數組的相應位置的字符寫到b上。
const int n=4;
void fun(char a[][n],char b[][n])
{
 int i=0,j=0,p=0,orient=0;

 while(p {
  if(orient==0) //如果當前方向為向右
  {
   if(j==n||b[i][j]!=32) //如果已經到達邊界或當前位置已經有字符
   {
    i++; //調整方向
    j--;
    orient=(orient+1)%4;
    continue;
   }
   else
   {
    b[i][j]=a[p/n][p%n]; //否則把a的相同字符填到b中
    p++; //a和b都指向下一個位置
    j++;
   }
  }

  if(orient==1) //如果當前方向為向下
  {
   if(i==n||b[i][j]!=32)
   {
    i--;
    j--;
    orient=(orient+1)%4;
    continue;
   }
   else
   {
    b[i][j]=a[p/n][p%n];
    p++;
    i++;
   }
  }

  if(orient==2) //如果當前方向為向左
  {
   if(j==-1||b[i][j]!=32)
   {
    i--;
    j++;
    orient=(orient+1)%4;
    continue;
   }
   else
   {
    b[i][j]=a[p/n][p%n];
    p++;
    i--;
   }
  }

  if(orient==3) //如果當前方向為向上
  {
   if(i==-1||b[i][j]!=32)
   {
    i++;
    j++;
    orient=(orient+1)%4;
    continue;
   }
   else
   {
    b[i][j]=a[p/n][p%n];
    p++;
    i--;
   }
  }
}

?
發布評論我來說2句

    最新文章

    可可英語官方微信(微信號:ikekenet)

    每天向大家推送短小精悍的英語學習資料.

    添加方式1.掃描上方可可官方微信二維碼。
    添加方式2.搜索微信號ikekenet添加即可。
    主站蜘蛛池模板: 亚洲第一区se| 想要更多| 寄宿生韩国电影| 梁以辰| 人世间演员表| 违规吃喝心得体会100字| 速度与激情 电影| 个体工商户起名字大全免费| 张少| cctv五+频道在线直播节目单| 一千零一夜凯瑟林| 误杀2 电影| 国考岗位| 疯狂试爱2| 皮肤诊所| 香港论理| 老阿姨视频| 闵度允演的电影| 六扇门电影免费观看| 美女mm免费视频| 翔田千里高清在线播放| 黑帮大佬和我的第365天| 绝对权力全集免费观看| 黄色网址视频免费| s0hu搜狐| 内蒙古电视台雷蒙| 王渝萱的电影| 请假单| 熊乃瑾个人资料| 马明威| 仓本c仔| 甄嬛传演员表| 非法制裁| 戴夫·巴蒂斯塔| 春风不问路| 深流 电视剧| 薛晨| 少年包青天4第四部| 男女男在线观看| 电影《村小的孩子》完整版| 神犬小七2|