广工Anyview试题答案第八章

合集下载

广工Anyview试题答案

广工Anyview试题答案

/**********【习题9.023】结构体类型定义如下:struct date{int year; int month; int day;}; //定义日期结构体类型struct student{ char name[20];struct date birth; //出生日期};结构体数组s存储了n个人的名字和出生日期。

写一函数,求这n个人中年龄最大(即出生日期最小)者的姓名。

**********/char *oldest(student s[], int n){int j,k=0;for(j=1;j<n-1;j ){if(s[k].birth.year>s[j].birth.year) k=j;else if(s[k].birth.year==s[j].birth.year){if(s[k].birth.month>s[j].birth.month) k=j;else if(s[k].birth.month==s[j].birth.month)if(s[k].birth.day>s[j].birth.day) k=j;}}return s[k].name;}/**********【习题9.025】结构体类型定义如下:struct date{int year; int month; int day;}; //定义日期结构体类型struct student{ char id[10]; //学号char name[20]; //姓名struct date birth; //出生日期};结构体数组s存储了n个人的学号、名字和出生日期。

写一函数,以结构体的形式返回这n个人中年龄最大(即出生日期最小)者的信息。

**********/struct student oldest(struct student s[], int n){int j,k=0;for(j=1;j<n-1;j ){if(s[k].birth.year>s[j].birth.year) k=j;else if(s[k].birth.year==s[j].birth.year){if(s[k].birth.month>s[j].birth.month) k=j;else if(s[k].birth.month==s[j].birth.month)if(s[k].birth.day>s[j].birth.day) k=j;}}return s[k];}/**********【习题9.027】结构体类型定义如下:struct student{ char id[10]; //学号char name[10]; //姓名int score[5]; //各门课成绩};结构体数组s存储了n个学生的学号、名字和各门课成绩。

广东工业大学《单片机原理及应用》08.01A

广东工业大学《单片机原理及应用》08.01A

广东工业大学考试试卷( A )课程名称:单片机原理与接口技术(05电子1~6/光信1~2班)试卷满分100分考试时间: 2008 年1 月16 日 (第20周星期三)一、填空。

(每空1分,共30分)1.指令由和操作数两部分组成,用二进制表示的指令称为语言指令。

2.通用CPU核心部件为单元,其作用是承担和逻辑运算。

3.当存储器片选信号CS处于高电平状态时,存储器芯片处于状态,数据总线处于态。

4.MCS-51 MCU字长为位,含义是(数据总线、地址总线、控制总线)宽度为位,最大寻址能力为KB。

5.MCS-51 MCU含有个位定时/计数器,其中的功能最强。

6.MCS-51 MCU外中断可编程为和下降沿触发。

7.八段LED数码静态显示电路原则上由、笔段译码器、组成,不过在MCU 控制系统中,一般不用硬件电路。

8.对89C51RX兼容芯片ERAM写操作时,(有效、无效),此时P0口作为(I/O引脚、数据/地址总线AD7~AD0)。

9.当使用外部ROM时,MCS-51芯片EA引脚(接地、接VCC、悬空)。

10.MCS-51 P0.0引脚锁存器为1,P0.0引脚处于(高电平、低电平、高阻)状态。

11.在以MCS-51为核心的控制系统中,最好选择(P0、P1~P3)I/O引脚构成4*4矩阵键盘,这样可省去电阻和隔离二极管。

12.MCS-51复位后,PC为。

13.P0口为(漏极开路、准双向结构、CMOS互补推挽),而P1~P3为,因此MCS-51 I/O引脚具有线与功能,输出引脚对(地、电源VCC)短路也不会出现过流现二、指出下列指令中指定操作的寻址方式(每空1分,共15分)1. MOV ACC, 30H ;目的操作数寻址方式为:; 源操作数寻址方式为:2. MOV R7, #16 ;目的操作数寻址方式为:; 源操作数寻址方式为:3. MOV B, @R0 ;目的操作数寻址方式为:; 源操作数寻址方式为:4. MOV C, 20H.3 ;目的操作数寻址方式为:; 源操作数寻址方式为:5. INC P1 ;操作数P1寻址方式为:6. MOVC A, @A+DPTR ;源操作数寻址方式为:;操作对象为7. MOVX A, @ DPTR ;源操作数寻址方式为:;操作对象为8. JBC P1.0, NEXT ;操作数NEXT寻址方式为:;操作对象为(P1.0引脚、P1.0锁存器位)。

广工CAnyview参考标准答案

广工CAnyview参考标准答案

C Anyview 7-9章作业参考答案/**********【习题7.010】写一函数求3个整数中最小的数。

**********/int min(int x, int y, int z)/* 返回3个整数x,y和z中最小的数*/{if(x>y)x=y;if(x>z)x=z;return x;}/**********【习题7.020】编写函数,求用1元、5元和10元三种纸币支付n元钱共有多少种支付法?例如,16元可有6种支付方法:方法 1 2 3 4 5 610元0 0 0 0 1 15元0 1 2 3 0 11元16 11 6 1 6 1**********/int change(int n){int i,j,k,m=0;for(i=0;i<=n;i++)for(j=0;j<=n/5;j++)for(k=0;k<=n/10;k++)if(i+5*j+10*k==n)m++;return m;}/**********【习题7.030】先编写一个判断素数的函数。

再编写一个函数将一个偶数表示为两个素数之和,并返回其中较小的素数。

注:素数指只能被1和自身整除的正整数。

规定0,1不是素数。

**********/int prime(int n)/* 判断素数,如果是素数返回1,不是素数则返回0 */{ int t;if(n==1)return 0;for(t=2;t<=(n/2);t++)if(n%t==0)return 0;return 1;}int f(int i)/* 将偶数i表示为两个素数之和,返回其中较小的素数*/{ int n;for(n=3;n<=i;n++)if(prime(i-n)&&prime(n))return n;}/**********【习题7.050】编写函数,将字符串中ASCII码最小的字符放在第一个字符位置,其余字符依次往后移。

广工数据结构参考答案全(anyview)

广工数据结构参考答案全(anyview)

广工数据结构anyview 80道上机题1.void Descend(int &x, int &y, int &z)/* 按从大到小顺序返回x,y和z的值*/ {int t;if(x<z){t=z;z=x;x=t;}if(y<z){t=y;y=z;z=t;}if(y>x){t=x;x=y;y=t;}}2.Status Fibonacci(int k, int m, int &f)/* 求k阶斐波那契序列的第m项的值f */ {int *a;int i=1;if(k<2||m<0) return ERROR;if(m<k){if(m==k-1) f=1;else f=0;return OK;}a=(int*)malloc((m+1)*sizeof(int));for(i=0;i<k-1;i++) a[i]=0;i=k+1;a[k-1]=1;a[k]=1;while(i<=m){a[i]=2*a[i-1]-a[i-k-1];i++;}f=a[m];return OK;}3.void Scores(ResultType *result, ScoreType *score)/* 求各校的男、女总分和团体总分, 并依次存入数组score *//* 假设比赛结果已经储存在result[ ]数组中, *//* 并以特殊记录{"", male, ' ', "", 0 }(域scorce=0)*//* 表示结束*/{int i;for(i=0;result[i].score!=0;i++){score[result[i].schoolname-'A'].totalscore+=result[i].score;if(result[i].gender==male)score[result[i].schoolname-'A'].malescore+=result[i].score;elsescore[result[i].schoolname-'A'].femalescore+=result[i].score;}}4Status Series(int ARRSIZE, int a[])/* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a;*//* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */{int i=1,b=1,na=1;while(i<=ARRSIZE){na*=i;b*=2;if(na*b>MAXINT) return OVERFLOW;a[i-1]=na*b;i++;if(i>ARRSIZE+1) return OVERFLOW;}return OK;}5float Polynomial(int n, int a[], float x)/* 求一元多项式的值P(x)。

广东工业大学生产运营管理(张毕西)习题答案新版

广东工业大学生产运营管理(张毕西)习题答案新版

第六章思考与练习题4、(1)计算流水线节拍。

r=940min/940件=1min/件=60s/件(2)采用分枝定界法进行工序同期化重组。

S min=(20+16+24+23+20+16+28+15+27+31+28)/60=5个(3)计算工序重组后的流水线负荷率。

k a=(60/60+59/60+43/60+58/60+28/60)/5=0.835、N=1800+1750*(35/40)+1600*(30/40)=4532件 把各种产品产量折合成以代表产品B 表示的计划总产量:N=1750+1800*40/35+1600*30/35≈5179件r a=26000min/4532件=5.74min/件r b=5.74min/件*(35/40)=5.02min/件 r c=5.74min/件*(30/40)=4.31min/件6、代表产品法:有效工作时间=280*8*2*60*(1-0.08)=247296min N=3*(30/30)+4*(25/30)+3+2*(40/30)=12万件 r c=247296min/120000件=2.06min/件r a=2.06min/件*(30/30)=2.06min/件开始1、2、4 1、4、7 1、2、5 8、94、6、74、6、9 10、1112r b=2.06min/件*(25/30)=1.72min/件r d=2.06min/件*(40/30)=2.75min/件时间分配法:总劳动量=(30000*30+40000*25+30000*30+20000*40)=360 0000min比重a=(30000*30)/360 0000=0.25比重b=(40000*25)/360 0000=0.28比重c=(30000*30)/360 0000=0.25比重d=(20000*40)/360 0000=0.22r a=(0.25*247296)/30000=2.06min/件r b=(0.28*247296)/40000=1.73min/件r c=(0.25*247296)/30000=2.06min/件r d=(0.22*247296)/20000=2.72min/件7、(1、2、3)(4、6、7)(5、8、9)(10、11)这个可行的组合方案有多个。

广工数据结构anyview答案

广工数据结构anyview答案

第4章//03****************************************************************** /**********【题目】试写一算法,实现链栈的判空操作。

链栈的类型定义为:typedef struct LSNode {ElemType data; // 数据域struct LSNode *next; // 指针域} LSNode, *LStack; // 结点和链栈类型***********/Status StackEmpty_L(LStack S)/* 对链栈S判空。

若S是空栈,则返回TRUE;否则返回FALSE */{if(NULL == S)return TRUE;elsereturn FALSE;}//05****************************************************************** /**********【题目】试写一算法,实现链栈的取栈顶元素操作。

链栈的类型定义为:typedef struct LSNode {ElemType data; // 数据域struct LSNode *next; // 指针域} LSNode, *LStack; // 结点和链栈类型***********/Status GetTop_L(LStack S, ElemType &e)/* 取链栈S的栈顶元素到e,并返回OK; *//* 若S是空栈,则失败,返回ERROR。

*/{if(NULL == S)return ERROR;elsee = S->data;return OK;}//31****************************************************************** /**********【题目】试写一算法,实现链队列的判空操作。

链队列的类型定义为:typedef struct LQNode {ElemType data;struct LQNode *next;} LQNode, *QueuePtr; // 结点和结点指针类型typedef struct {QueuePtr front; // 队头指针QueuePtr rear; // 队尾指针} LQueue; // 链队列类型***********/Status QueueEmpty_LQ(LQueue Q)/* 判定链队列Q是否为空队列。

2014年广工离散数学Anyview参考答案

2014年广工离散数学Anyview参考答案

广东工业大学离散数学Anyview习题答案——更新于2014年12月作者Seasand2014 1.00①试设计一算法,判断元素与集合之间的关系。

实现下列函数:/*** 判断元素与集合之间的关系。

元素和集合之间的关系只有两种。

* @param elem:元素* @param pA:集合* @return: 如果elem ∈pA,则返回TRUE,否则返回FALSE*/Boolean IsInSet(SetElem elem, pSet pA){//Add your code here}//1.00Boolean IsInSet ( SetElem elem, pSet pA ){//Add your code hereSetElem * a = outToBuffer ( pA );for ( ; *a != '\n'; a++ ){if ( elem == *a ){return true;}}return false;}1.01③试设计一算法,实现集合的并运算。

实现下列函数:/*** 进行两个集合的并运算* @param pA:要进行并运算的集合* @param pB:要进行并运算的集合* @return: 将pA和pB进行并运算后得到的集合*/pSet SetUnion(pSet pA, pSet pB){//Add your code here}//1.01pSet SetUnion ( pSet pA, pSet pB ){SetElem * a = outToBuffer ( pA );SetElem * b = outToBuffer ( pB );pSet pC = createNullSet();int i = 0;for ( ; *b != '\n'; b++ ){directInsertSetElem ( pC ,*b );}for ( a = outToBuffer ( pA ); *a != '\n'; a++ ){if ( isInSet ( pB,*a ) != true ){directInsertSetElem ( pC ,*a );}}return pC;}1.02②试设计一算法,实现集合的交运算。

2015年广工数据结构Anyview答案-推荐下载

2015年广工数据结构Anyview答案-推荐下载

/********** 1.18【题目】试编写算法,计算 i!×2^i 的值并存入数组 a[0..n-1]的第 i-1 个分量中 (i=1,2,…,n)。假设计 算机中允许的整数最大值为 MAXINT,则当对某个 k (1≤k≤n)使 k!×2^k>MAXINT 时,应按出错处理。注意 选择你认为较好的出错处理方法。 **********/ Status Series(int a[], int n) /* 求 i!*2^i 序列的值并依次存入长度为 n 的数组 a; */ /* 若所有值均不超过 MAXINT,则返回 OK,否则 OVERFLOW */ {
long m=1; for(int i=1;i<=n;i++) {
m=m*i*2; if(m<=MAXINT) {
a[i-1]=m; } else return OVERFLOW; } return OK; } /********** 1.23【题目】假设有 A、B、C、D、E 五个高等院校进行田径对抗赛, 各院校的单项成绩均以存入计算机并构成一张表,表中每一行 的形式为: 项目名称 性别 校名 成绩 得分 编写算法,处理上述表格,以统计各院校的男、女总分和团体 总分,并输出。 **********/
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线产中0不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资2负料2,荷试而下卷且高总可中体保资配障料置2试时32卷,3各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并25工且52作尽22下可护都能1关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编试技5写、卷术重电保交要气护底设设装。备备置管4高调、动线中试电作敷资高气,设料中课并技3试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(t<=*(s2+j))
{t=*(s2+j);h=j;}
*(s2+h)=s2[k++];s2[k-1]=t;t=s2[k];
}
}
}
/**********
【习题】对字符串s1,除首、尾字符外,将其余字符
按ASCII码降序排列,组合成一个新的字符串s2。
**********/
void func(char *s1, char *s2)
if(t>*(s+i)+*(s+i-1)+*(s+i-2))
t=*(s+i)+*(s+i-1)+*(s+i-2);
return t;
}
/**********
【习题】编写函数,通过指针参数sum将x和y的
和赋给相应实际参数。例如,若x=134、y=378,则sum
的实参变量被赋值512。
**********/
void func(char *s, char *t)
指向的变量,若前者的值较大,则交换两者的值,
并返回1;否则无须交换,返回0。
**********/
int func(int *x, int *y)
{
if(*x>*y)
{int t=*x;*x=*y;*y=t;return 1;}
return 0;
}
/**********
【习题】假设指针a指向某数组中的一个元素。
if(*(s+i)==c)
return s+i;
return NULL;
}
/**********
【习题】编写函数,计算年份year中第yearday天相应的月
和日。例如,调用函数month_day(2000,61,&m,&d)之后,m=3,
d=1,即2000年的第61天是3月1日。
**********/
/*返回s中n(>0)个整数的最大值。
注意:要求在函数中采用指针(而不是下标)来处理数组元素。
*/
{
int t=*s;
for(int i=0;i<n;i++)
if(*(s+i)>t)t=*(s+i);
return t;
}
/**********
【习题】请编写一个函数min3adj(int s[], int n),数组s中
{
for(int i=0;i<n;i++)
if(*(a+i)==x)
return i+1;
return 0;
}
/**********
【习题】假设指针a指向某数组中的一个元素。
编写函数,对从元素*a开始的n个元素,统计并返回
值为x的元素个数(若不存在这样的元素,则返回0)。
**********/
int func(int n, int *a, int x)
return i+1;
}
/**********
【习题】编写函数,在指针参数s所指向的字
符串中统计并返回由c指定的字符的个数。例如,若
该串为"I am a student.",c='t',则函数返回值
为2。注意:字符串结束符是'\0',不允许调用字符
串库函数。
**********/
int func(char *s, char c)
{
int t=0;
for(int i=0;i<n;i++)
if(*(a+i)==x)t++;
if(t==0)return 0;
return t;
}
/**********
【习题】编写函数,返回指针参数s所指向的字
符串的长度。例如,若该串为"I am a student.",
则函数返回值是15。注意:字符串结束符是'\0',不
/* s为字符串的起始地址,
m>=0,
t为新字符串的起始地址,
注意:字符串尾字符之后跟随着一个结束符‘\0’,
即ASCII码为0的字符,结束符不属于字符串。
要求:s串不能发生改变,
t串存放新的字符串。
*/
{
int f=0;
for(int i=m;s[i]!='\0';i++)
t[f++]=s[i];t[f]='\0';
{
if(47<(int)s[i]&&(int)s[i]<58)
{
meet_number=true;
t*=10;
t+=((int)s[i]-48);
}
if(s[i]=='-'&&meet_number==false)
meet_negative=true;
i++;
}
if(meet_negative==true)
否则返回0。例如,若该串为"I am a student.",
c='t',则函数返回值为9。注意:字符串结束符是
'\0',不允许调用字符串库函数。
**********/
int func(char *s, char c)
{
for(int i=0;*(s+i)!='\0';i++)
if(*(s+i)==c)
if(m==0||m==1||m==2){break;}
else
{
char c=t[0]; int k=0;
for(i=0;t[i]!='\0';i++)
{
for(int j=i;t[j]!='\0';j++)
if(c>=t[j])c=t[j];
t[j]=t[k];t[k++]=c;c=t[k];
}
void func(int x, int y, int *sum)
{
*sum=x+y;
}
/**********
【习题】编写函数,返回指针参数x和y所指向的
变量的值之和。
**********/
int func(int *x, int *y)
{
return *x+*y;
}
/**********
【习题】编写函数,比较指针参数x和y分别
有n(>0)个整数,返回在s中相邻三个数的和中的最小值。
**********/
int min3adj(int s[], int n)
/*数组s含n(>=3)个整数,
返回在s中相邻三个数的和中的最小值。
*/
{
int t=*(s+n-1)+*(s+n-2)+*(s+n-3);
for(int i=n-1;i>1;i--)
{
for(int i=0;*(s1+i)!='\0';i++)
*(s2+i)=*(s1+i);
int n=i;
if(n<4)break;
else
{
char t=*(s2+1);int k=1;int j,h;
for(i=1;i<=n-2;i++)
{
for(j=i;j<=n-2;j++)
if(t<=*(s2+j))
*pday-=date[i];}
else if(*pmonth==1)*pday=yearday;
else *pday=yearday-31;return 1;}
return 0;
}
/**********
【习题】请编写一个函数func,通过略去非数字字符,将字符串
s转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
}
/**********
【习题】对长度为n的字符串s1,除首、尾字符外,将
其余字符按ASCII码降序排列,组合成一个新的字符串s2。
**********/
void func(char *s1, char *s2, int n)
/* s1为字符串的起始地址,
s2为新字符串的起始地址,
n为字符串的长度。
要求:s1串不能发生改变,
s2串存放新的字符串。
*/
{
for(int i=0;i<n;i++)
*(s2+i)=*(s1+i);
if(n<4)break;
else
{
char t=*(s2+1);int k=1;int j,h;
for(i=1;i<=n-2;i++)
{
for(j=i;j<=n-2;j++)
{
int t=0;
for(int i=0;*(s+i)!='\0';i++)
if(*(s+i)==c)
t++;
return t;
}
/**********
【习题】编写函数,复制指针参数s指向的字
符串到由指针参数t已经指向的存储区域。注意:
字符串结束符是'\0',不允许调用字符串库函数。
相关文档
最新文档