2016广工Anyview试题答案 第十一章
机械工程图学答案 第十一章
11-5 根据所给组合体的两个视图,补画第三视图。
11-6 根据所给组合体的两个视图,补画第三视图。
(1)
11-6 根据所给组合体的两个视图,补画第三视图。
(1)
11-6 根据所给组合体的两个视图,补画第三视图。
11-6 根据所给组合体的两个视图,补画第三视图。
(2)
11-6 根据所给组合体的两个视图,补画第三视图。
11-9(4)根据所给的两视图, 补画第三视图。
(5)
11-1 已知主、俯视图,想出物体形状,找出相对应的左视图 (比较题(1)、(2)、(3)中线框a'、b'、c'的空间含义和相对位置)。 (6)
(6)
11-2 据所给的两视图,想象出组合体的形 状,选择正确的第三视图。
正确的左视图是:
11-2 据所给的两视图,想象出组合体的形状, 选择正确的第三视图。
(2)
11-5 根据所给组合体的两个视图,补画第三视图。
11-5 根据所给组合体的两个视图,补画第三视图。
(3)
11-5 根据所给组合体的两个视图,补画第三视图。
(3)
11-5 根据所给组合体的两个视图,补画第三视图。
11-5 根据所给组合体的两个视图,补画第三视图。
(4)
11-5 根据所给组合体的两个视图,补画第三视图。
11-3 根据所给组合体的两个视图,补画第三视图。
11-3 根据所给组合体的两个视图,补画第三视图。
(1)
11-3 根据所给组合体的两个视图,补画第三视图。
(1)
11-3 根据所给组合体的两视图, 补画第三视图。
11-3 根据所给组合体的两个视图,补画第三视图。
广工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个学生的学号、名字和各门课成绩。
2016单片机期末考试试卷及答案,推荐文档(2021年整理)
2016单片机期末考试试卷及答案,推荐文档(word版可编辑修改)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2016单片机期末考试试卷及答案,推荐文档(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2016单片机期末考试试卷及答案,推荐文档(word版可编辑修改)的全部内容。
一、填空题1、设X=5AH,Y=36H,则X与Y“或”运算为7EH,X与Y的“异或”运算为6CH。
2、若机器的字长为8位,X=17,Y=35,则X+Y=110100,X-Y=11101110(要求结果写出二进制形式)。
3、单片机复位后,堆栈指针SP的值是07h。
4、若采用6MHz的晶体振荡器,则MCS—51单片机的振荡周期为0.5us,机器周期为2us.5、一个函数由两部分组,即说明部分和语句部分。
6、C语言中输入和输出操作是由库函数scanf和printf等函数来完成.7.当MCS—51引脚ALE 信号有效时,表示从Po口稳定地送出了低8位地址.8。
MCS-51的堆栈是软件填写堆栈指针临时在_片内数据存储_器内开辟的区域。
9.MCS—51有4组工作寄存器,它们的地址范围是00H—1FH 。
10。
MCS-51片内20H-2FH 范围内的数据存储器,既可以字节寻址又可以位寻址.11。
计算机的系统总线有数据总线、地址总线、控制总线。
12.一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时钟信号的周期定义为状态周期.13、单片机的复位操作是_高电平,寄存器IE的值是_EA、ES、ET1、EX1、ET0、EX0_。
14、若选择内部程序存储器,应该设置为高电平(高电平/低电平),那么,PSEN信号的处理方式为不用。
广工数据结构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是否为空队列。
广工 通信11级B卷参考答案注解
STLM B, AR7
LD @24, B
STLM B, AR1
(2)(5分)
FRAME #12
PSHM AR7
PSHM AR6
PSHM AR5
PSHM AR4
PSHM AR3
PSHM AR2
PSHM AR1
PSHM AR0
堆栈后进先出。
7,(12分)
SSBX C16
STM #1100H, AR1
STM #128, AR0
STM #255, BRC
RPTB end_loop – 1
LD *AR1-0B, A
end_loop:
或者
STM #16FFH, AR1
STM #128, AR0
RPT #255
LD *AR1-0B, A
FFT基2碟形运算,时间抽取时输入乱序、输出顺序;频域抽取时输入顺序、输出乱序
6,
C语言调用汇编子程序时C编译器规则:
从C主程序一进入汇编子程序,SP指向返回地址,累加器A存放第一个形参,SP+1指向第二个形参,SP+2指向第三个形参,。。。。。。由此类推
在汇编子程序开头,用pshm保护现场,每条pshm指令使SP递减1。接着使用frame指令为子程序内局部变量分配内存空间。
1AR3或者AR4,②AR4或者AR5,③#1,④#FRCT,⑤#51,⑥AR3+0%或者AR4+0%,⑦#50,⑧*AR3+0%或者AR4+0%,⑨*AR4+0%或者AR5+0%
LOOP_FILTERING:
STM #DATA_PTR+50,①AR3或者AR4
STM #COEF_PTR,②AR4或者AR5
广工anyview7-9章参考答案
习题7.010 return(x<y? x<z?x:z:y<z?y:z);习题7.020int i=0,j,k,p=0;for(i=0;i<=n/10;i++){for( j=0;j<=n/5;j++)for(k=0;k<=n;k++){if((k+j*5+i*10)==n)p++;}}return p;int prime(int n)/* 判断素数,如果是素数返回1,不是素数则返回0 */ {for(int i=2;i<=sqrt(n);i++){if (n%i==0){return (0);break; }}return 1;}习题7.030int f(int i)/* 将偶数i表示为两个素数之和,返回其中较小的素数*/ {int a,b;a=3;for(a;a<=i/2;a++){if ((prime(a)==1)&&(prime(b=(i-a))==1))break;}return(a);}习题7.050int i,j;char min=str[0] ;for(i=1;str[i];i++){if(min>str[i]){min=str[i];j=i;}}for(j;j>0;j--){str[j]=str[j-1];}str[0]=min;习题7.060int i,j;char t;for (j=0;j<N-1;j++)for (i=0;i<N-j-1;i++){t=a[j][i]; a[j][i]=a[N-i-1][N-j-1];a[N-i-1][N-j-1]=t ;}习题7.064char t;for(int i=0;i<N-2;i++)for(int j=0;j<N;j++){t=a[i][j];a[i][j]=a[i+2][j];a[i+2][j]=t;}习题7.065int i,j;char t;for(i=0;i<N;i++)for(j=0;j<N-2;j++){t=a[i][j];a[i][j]=a[i][j+2];a[i][j+2]=t;}习题7.067int i;char t;t=a[0][0]; //先提取一个值,后面的就可以直接覆盖;for(i=0;i<N-1;i++)a[i][0]=a[i+1][0];for(i=0;i<N-1;i++)a[N-1][i]=a[N-1][i+1];for(i=N-1;i>0;i--)a[i][2]=a[i-1][2];a[0][2]=a[0][1];a[0][1]=t;习题7.068int i;char t=a[0][0];for(i=0;i<N-1;i++)a[0][i]=a[0][i+1];for(i=0;i<N-1;i++)a[i][2]=a[i+1][2];for(i=0;i<N-1;i++)a[2][2-i]=a[2][2-i-1];a[2][0]=a[1][0];a[1][0]=t;习题7.072int i,j;char t1=a[0][2],t2=a[1][2],t3=a[2][2];for(i=0;i<N;i++)for( j=2;j>0;j--)a[i][j]=a[i][j-1];a[0][0]=t1;a[1][0]=t2;a[2][0]=t3;习题7.075int i,j;char d=a[0][0],b=a[1][0],c=a[2][0];for(i=0;i<N;i++)for(j=0;j<N-1;j++)a[i][j]=a[i][j+1];a[0][2]=d;a[1][2]=b;a[2][2]=c;习题7.082int i,j;char t1=a[2][0],t2=a[2][1],t3=a[2][2];for(i=2;i>0;i--)for(j=0;j<N;j++)a[i][j]=a[i-1][j];a[0][0]=t1;a[0][1]=t2;a[0][2]=t3;习题7.085int i,j;char t1=a[0][0],t2=a[0][1],t3=a[0][2];for(i=0;i<N-1;i++)for(j=0;j<N;j++)a[i][j]=a[i+1][j];a[2][0]=t1;a[2][1]=t2;a[2][2]=t3;习题7.103int t,r;if(m<n){t=m;m=n;n=t;}while((r=m%n)!=0){m=n;n=r;}习题7.105int t,r,h;h=m*n;if(m<n){t=m;m=n;n=t;}while((r=m%n)!=0){m=n;n=r;}return h/n;习题7.115int c,a1,a2,b1,b2;a1=a/10; a2=a%10;b1=b/10; b2=b%10;c=a1*1000+b1*100+a2*10+b2; return c;习题7.125int b;b=r*100; //只保留前三个数t=b*1.0/100;if(r-t>=0.005)t=t+0.01;return t ;习题7.135int a[100],i=1,b=0;while(n/10!=0){a[i]=n%10;n=n/10;i++;}for(i;i>=1;i--){if(i==3)b=b+a[i]*100;if(i==2)b=b+a[i]*10;if(i==1) b=b+a[i];}习题7.175int i ,j,a[1000] ,b=0 ;float s=0.0;for(i=0,j=1;j<n;j++){if(j%3==0 && j%7==0){a[i]=j;i++;} }for(i=0;a[i];i++)b+=a[i];s=sqrt(b);return s;习题7.184float s=0,d=0;int j=1,i=1;if(n==1)return s=1.0;else if(n>=2){while(i<=n){while(j<=i){d=d+j;j++;}s=s+ 1/d;i++;}return s;}习题7.187float d=0,s=0;int i,j=2;for(i=1;i<=n;i++){d=i*j;s=s+ (1/d);j++;}return s;习题7.195int t;if(m<n){t=m;m=n;n=t;}int i=1,j=1,k=1;double a=1;double b=1;int c=1;float s;for(i=1;i<=m;i++)a=a*i;for(j=1;j<=n;j++)b=b*j;for(k=1;k<=(m-n);k++)c=c*k;s=a/(b*c);return s;习题7.205int a[100],i=2,j=0,s=0;for(i;i<n;i++){if(n%i==0)a[j]=i;j++;}for(j;j>=0;j--)s+=a[j];return s;习题7.255int i=1,j=1,s=1;float n=1.0,t=1.0,si=1.0,sj=1.0;while(t>=eps){ si*=i; //si是分子sj*=(j+2); // 分母t=si/sj;n+=t;i++;j+=2;}return (2*n);习题7.265int i,j;j=0;for(i=0;s[i]!='\0';i++){ if(i%2==0){if(s[i]=='8' || s[i]=='6' || s[i]=='4' || s[i]=='2' || s[i]=='0'){t[j]=s[i];j++;}}}习题7.275int i,j,k;char c;for(i=0;s[i];i++) j++;for(i=j-1;i>=0;i--) {if(s[i]=='*') k++;else break;}if(k>n) for(i=j-1;i>(j-1-k+n);i--) s[i]='\0';习题7.315int i=6,j=0;for(i;i<n;i++){if(i%7==0 || i%11==0){a[j]=i;j++;}}return (j);习题7.317int i=1,j=0;for(i;i<=n;i++){if(i%c==0 && i%d==0){a[j]=i;j++;}}return (j);习题7.325int j=0;for(j;j<11;j++)c[j]=0;int i=0;for(i;i<n;i++){if(0<=a[i]&&a[i]<=9)c[0]++;if(10<=a[i]&&a[i]<=19)c[1]++;if(20<=a[i]&&a[i]<=29)c[2]++;if(30<=a[i]&&a[i]<=39)c[3]++;if(40<=a[i]&&a[i]<=49)c[4]++;if(50<=a[i]&&a[i]<=59)c[5]++;if(60<=a[i]&&a[i]<=69)c[6]++;if(70<=a[i]&&a[i]<=79)c[7]++;if(80<=a[i]&&a[i]<=89)c[8]++;if(90<=a[i]&&a[i]<=99)c[9]++;if(100<=a[i])c[10]++;}习题7.335int i,j=0;char b[100]; //思路:提取必要元素到另一个数组中去,再用该数组覆盖原数组b[j]=a[i];for(i=1,j=1;a[i]!='\0';i++){if( a[i]==a[i-1]) continue ;b[j]=a[i];j++;}for(i=0;i<=j;i++){a[i]=b[i];}a[j]='\0';return j;习题7.345int i=0;int j=0;for(i;i<strlen(s);i++){if(s[i]!=32&&s[i+1]==32)j++;}if(s[i]!=32)return (j+1);else if(s[i]==32)return j;习题7.355int i=0,j=0;for(i;s[i]==42;i++);for(j;s[i+j]!=0;j++)s[j]=s[j+i];for(j;s[j]!=0;j++)s[j]=42;习题7.513int s=1;for(int i=0;i<n;i++) s*=a[i];return s;习题7.523int s=0;for(int i=0;i<n;i++)s+=a[i]*a[i];return s;习题7.533int i=0,j ;for( j=1;j<=k;j++)c[j]=0;for(i;i<n;i++){for( j=1;j<=k;j++){if(v[i]==j){c[j]++;break; }}}习题7.535int i=0,j,max=0; ;for( j=1;j<=k;j++)c[j]=0;for(i;i<n;i++){for( j=1;j<=k;j++){if(v[i]==j){c[j]++;break; }}}for(j=1;j<=k;j++){if(max<c[j])max=c[j];}return max;习题7.563int i=0,j,k,t;while(n){d[i]=n%10;i++;n=n/10;}return i;习题7.565int i=0,a[20],j=0;while(n){d[i]=n%10;i++;n=n/10;}for(i-1,j;i-1>=0;i--,j++)a[j]=d[i-1];for(i=0;i <= j ;i++)d[i]=a[i];return j;习题7.655int i=0;for(i;i<5;i++)num[i]=0;i=0;while(s[i]){if(s[i]=='A'||s[i]=='a')num[0]++;if(s[i]=='E'||s[i]=='e')num[1]++;if(s[i]=='I'||s[i]=='i')num[2]++;if(s[i]=='O'||s[i]=='o')num[3]++;if(s[i]=='U'||s[i]=='u')num[4]++;i++;}习题7.675int i;for(i=0;i<5;i++)p[i]=0;for(i=0;i<n;i++){if(s[i]<60)p[0]++;if((s[i]>=60)&&(s[i]<=69)) p[1]++;if((s[i]>=70)&&(s[i]<=79)) p[2]++;if((s[i]>=80)&&(s[i]<=89)) p[3]++;if((s[i]>=90)&&(s[i]<=100)) p[4]++;习题7.685int i,j=0,k=0;for(i=1;i<=m;i++)if(m%i==0){ d[j]=i;j++;k++;}return (n[0]=k);习题7.755int i,j,skey=0;for(j=0;key[j];j++) skey+=key[j]*key[j];for(i=0;str[i];i++){if(str[i]>='a'&&str[i]<='z'){str[i]=(str[i]+skey)%128;}习题8.011int i=n-1;int j=0;for(i;i>=0;i--){*(t+j)=*(s+i) ;j=j+1;}习题8.012int n=strlen(s);int i=n-1;int j=0;for(i;i>=0;i--){*(t+j)=*(s+i) ;j=j+1;}习题8.015int i=1,j=1;char t[10],temp;for(i;i<n-1;i++)t[i]=s1[i];for(i=1;i<n-1;i++)for(j=1;j<n-1-i;j++){ //冒泡排序,由大到小if( t[j]<t[j+1]){temp=t[j];t[j]=t[j+1];t[j+1]=temp;}}for(i=1;i<n-1;i++)s2[i]=t[i];s2[0]=s1[0];*(s2+n-1)=*(s1+n-1);int n=strlen(s1);int i=1,j=1;char t[10],temp;for(i;i<n-1;i++)t[i]=s1[i];习题8.016for(i=1;i<n-2;i++)for(j=1;j<n-1-i;j++){if( t[j]<t[j+1]){temp=t[j];t[j]=t[j+1];t[j+1]=temp;}}for(i=1;i<n-1;i++)s2[i]=t[i];s2[0]=s1[0];*(s2+n-1)=*(s1+n-1); 习题8.018int n=strlen(s); //长度char a[20],temp;int i=m,j,k=0;for(i;i<n;i++)a[i]=s[i];for(i=m,k;i<n-1;i++,k++)for(j=m;j<n-1-k;j++){if(a[i]>a[i+1]){temp=a[i];a[i]=a[i+1];a[i+1]=a[i];}}习题8.020int t;for(;*s;s++ ){if(*s==c){t=1;break;}}if(t==1)return s;if(t!=1) return NULL;习题8.033int s[12]={31,28,31,30,31,30,31,31,30,31,30,31},m;//判断是否闰年if(year%4==0&&year%100!=0||year%400==0)s[1]=29;if(year<1||yearday<1||(s[1]==29&&yearday>366)||(s[1]==28&&yearday >365))return 0;else{for(m=0;yearday-s[m]>=0&&m<=10;m++)yearday-=s[m];if(yearday==0){m-=1;yearday=s[m];}*pmonth=m+1;*pday=yearday;return 1;}}习题8.044int sum ,i;sum=0;i=1;char t;t=*s; //首元素for(;*s!='\0';s++){if('0'<=*s&&*s<='9'){sum=sum*10+(*s-48);}}if(t=='-'){sum=(-1)*sum;}return sum;习题8.105int i=0, max=0, *p;p=s;for(i;i<n;i++){if(*p>max)max=*p;p++;}return max;习题8.124int i=1, min=1000, *p,sum;p=s[1];for(i=1;i<n-1;i++){ // sum=*(p-1)+ *p+ *(p+1);sum=s[i-1]+s[i]+s[i+1];if(min>sum)min=sum;p++;} return min;习题8.132*sum=x+y;习题8.136return (*x+*y);习题8.138int t;if(*x>*y){t=*x;*x=*y;*y=t;return 1;}else return 0;习题8.143int i=0,j;for(i;i<n;i++)if(*(a+i)==x){ j=1;break;}if(j==1)return (i+1);else return 0;习题8.146int i=0,j=0;for(i;i<n;i++){if(*(a+i)==x)j++;}return j;习题8.203int i=0,j=0;while(s[i]!=0){if(s[i]!=32)j++;i++;}return j;习题8.212int i=0,j=0;while(s[i]!=0){if(s[i]==c){j=1;break;}i++;}if(j==1) return (i+1);else return 0;习题8.215int i=0,j=0;while(s[i]!=0){if(s[i]==c)j++;i++;}return j;习题8.222int i=0;while(s[i]!=0){t[i]=s[i];i++;}习题8.225int i=0;for(i;i<n;i++) //可能有时会出错{t[i]=s[i];}习题8.228for( ;*s!='\0'; s++);for(;n>=0;s--,n--){*(t+n)=*s;} //一定是指到最后的,不如倒着来赋值习题8.231int j;for(j=0;j<n;j++,i++){t[j]=s[i-1];}t[j]=0;习题8.234int i=0;while(s[i]){if('a'<=s[i]&&s[i]<='z')t[i]=s[i]-32;else t[i]=s[i];i++;}习题8.237int i=0;while(s[i]){if('A'<=s[i]&&s[i]<='Z')t[i]=s[i]+32;else t[i]=s[i];i++;}习题8.243int i,j=0,flag=1;for(i=0;s[i];i++,j++) //先找到位置,可能有错{if(s[i]==t[0])break;}for(int k=0;t[k];k++,i++){if(t[k]!=s[i]){flag=0;break;}}if (flag==1) return j+1;else return 0;习题8.246int i,c=0,k=0,j=1;int a[100];a[0]=0;for(i=0;*(s+i)!='\0';i++,j++)if((*(s+i)>=65&&*(s+i)<=90)||(*(s+i)>=97&& *(s+i)<=122 )) {a[j]=0;if(a[j]==0&&a[j-1]==1){*(*(w+k)+c)='\0';k++;c=0;}*(*(w+k)+c)=*(s+i);c++;}elsea[j]=1;if (k>0)return k+1;elsereturn k;习题8.282int i,j,max=0;for(i=0;i<n;i++)for(j=0;j<4;j++){if(max<p[i][j])max=p[i][j];}return max;习题8.285int i,j,s=0;for(i=0;i<3;i++)for(j=0;j<4;j++){s+=p[i][j];if(j==3){sum[i]=s;s=0;}}习题8.288int i,j,s=0;for(i=0;i<4;i++)for(j=0;j<3;j++){s+=p[j][i];if(j==2){avg[i]=s/3.0;s=0;}}习题9.023int i,j=0; //一个用来找,一个用来记录, 并把第一个假设为条件。
广工EDA数字逻辑课后习题答案
习题答案第1章一、单选题(1)B (2)C (3)B (4)C (5)D (6)B (7)C (8)D (9)C (10)C (11)D(12)D(13)A(14)D二、判断题(1)√ (2)√ (3)× (4)× (5)×(6)×(7)√(8)×三、填空题(1)10000111.101、207.5、87.A (2)185.75 (3)1001 0100(4)B A ⋅、B A +、B A B A +、AB B A + (5)C B A ABC C AB ++ (6)C A AD ⋅ (7)B A B A + (8)2n (9)1 (10)1四、综合题(1)① BA B A AD B B A AD DE B B A AD C A A C DE C B B D C A A C B DE C B B BD C A A Y +=++=++=++++=+++++=+++++=)1()()()()(② BA B A B A D D B A B A A D B D B A B A B B A D B A D B A B A B A AB Y +=+++=++++=+++++=+++++=)1)(())(())()(())(( ③ DB C B A D C D B C B DE B B A B C DE B C A D BC A D B D C C B DE B A C B A AC DE B A D BC A C B A D C D B C B AC Y ++=+++++=+++++++=+++++++=+++++++=)1()1()()()((2)① BCD C B D B A B A D C B A Y ++++= 函数卡诺图如下:化简结果为:BD D A D C Y ++=② F(A,B,C,D)=Σm(0,2,4,5,6,7,8,10,12,14) 函数卡诺图如下:化简结果为:D B A D C B A F +=),,,(③ F(A,B,C,D)=Σm(1,2,6,7,10,11)+Σd(3,4,5,13,15)函数卡诺图如下:化简结果为:⎪⎩⎪⎨⎧=++=∑0)15,13,5,4,3(),,,(CB D AC AD C B A F(3)该逻辑图所对应的逻辑表达式如下 AC C B B A Y +⊕++=)(根据真值表,可写出标准与或式如下 ABC C AB C B A C B A C B A C B A Y +++++= (4)根据表达式画出逻辑图如下A BCY第2章一、单选题(1)B (2)CDA (3)D (4)C (5)C (6)B (7)D(8)B(9)A(10)B二、判断题(1)√ (2)√ (3)× (4)√ (5)√ (6)× (7)√ (8)×(9)×(10)√(11)√三、综合题1.解:由于 0110 + 1011 + 1 = 1 0010, 因此 C out 输出1,S 3 ~ S 1输出0010 2.解:(1)分析设计要求……(2)列真值表……(3)写逻辑表达式776655443322110001270126012501240123012201210120m D m D m D m D m D m D m D m D S S S D S S S D S S S D S S S D S S S D S S S D S S S D S S S D Y +++++++=+++++++=(4)画逻辑图D 0D 1D 2D 3SS YD 4D 5D 6D 7S3.解:(1)分析设计要求 …… (2)列编码表……(3)写逻辑表达式864200874301943212987653I I I I I Y I I I I I Y I I I I I Y II I I I Y ++++=++++=++++=++++= (4)画逻辑图1Y 2Y I 2I 0I 1I 3I 4I 5I 6I 7I 8I 9Y 3Y 04.解:(1)分析设计要求…… (2)列真值表(3)写逻辑表达式130********S DS Y S DS Y S S D Y S S D Y ==== (4)画逻辑图DY 0Y 1Y 2Y 35.解:根据乘法原理A 2 A 1 A 0 ×B 1B 0A 2B 0 A 1B 0 A 0B 0 + A 2B 1 A 1B 1 A 0B 1P 4P 3P 2P 1P 0显然,电路的输入输出信号有: 输入信号:被乘数A (A 2A 1A 0),乘数B (B 1B 0) 输出信号:乘积P (P 4P 3P 2P 1P 0)由乘法原理可见,此乘法器需要6个与门及一个4位加法器,故选择2片74HC08及1片74HC283。
单片机课后习题第11 12章参考答案
第11章 AT89S51单片机与D/A转换器、A/D转换器的接口参考答案1.答:由运算放大器构成的I/V转换电路2.答:同步3.答:(1)错,D/A转换器也要考虑“转换速度”或“转换时间”问题,即建立时间(转换时间);(2)对;(3)错,是D/A转换器的分辨率;(4)对。
4. 答:D/A转换器的主要技术指标如下:分辨率:D/A转换器的分辨率指输入的单位数字量变化引起的模拟量输出的变化,是对输入量变化敏感程度的描述。
建立时间:建立时间是描述D/A转换速度快慢的一个参数,用于表明转换速度。
其值为从输入数字量到输出达到终位误差±(1/2)GB(最低有效位)时所需的时间。
转换精度:理想情况下,精度与分辨率基本一致,位数越多精度越高。
严格讲精度与分辨率并不完全一致。
只要位数相同,分辨率则相同.但相同位数的不同转换器精度会有所不同。
当DAC为二进制12位,满量程输出电压为5V时,分辨率为1.22 mV5. 答:A/D转换器的两个最重要指标:(1) 转换时间和转换速率--转换时间A/D完成一次转换所需要的时间。
转换时间的倒数为转换速率。
(2) 分辨率--A/D转换器的分辨率习惯上用输出二进制位数或BCD码位数表示。
6. 答:量化误差是由于有限位数字且对模拟量进行量化而引起的;最大的量化误差为0.195%;7. 答:目前应用较广泛的主要有以下几种类型:逐次逼近式转换器、双积分式转换器、∑-△式A/D转换器。
逐次逼近型A/D转换器:在精度、速度和价格上都适中,是最常用的A/D转换器件。
双积分A/D转换器:具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢,近年来在单片机应用领域中也得到广泛应用。
∑-△式A/D转换器:具有积分式与逐次逼近式ADC的双重优点,它对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,它比双积分ADC有较高的转换速度。
与逐次逼近式ADC相比,有较高的信噪比,分辨率高,线性度好,不需要采样保持电路。
单片机习题答案6-11综述
6 80C51的串行口1.80C51单片机串行口有几种工作方式?如何选择?简述其特点?答:四种工作方式,由SCON中的SM0、SM1进行定义:方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。
方式1:10位数据的异步通信口,波特率可变。
方式2:11位数据的异步通信口,波特率固定。
方式3:11位数据的异步通信口,波特率可变。
2.串行通信的接口标准有那几种?答:RS-232C接口、RS-422A接口、RS-485接口3.在串行通信中通信速率与传输距离之间的关系如何?答:最大距离与传输速率及传输线的电气特性有关。
当传输线使用每0.3m(约1 ft)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。
当波特率超过1000 bps 时,最大传输距离将迅速下降。
4.在利用RS-422/RS-485通信的过程如果通信距离(波特率固定)过长,应如何处理?答:在波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。
在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数越少,信号能传输的距离就越远。
故应减小通信距离或减少负载数量。
5.利用单片机串行口扩展并行输入接口电路如图所示。
试编写程序完成将SW1~SW8的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮)。
答:电路图如下:ORG 0000HMOV SCON,#10HLOOP:CLR P1.7NOPNOPNOPSETB P1.7CLR RIJNB RI,$MOV A,SUBFSJMP LOOPEND6.利用单片机串行口扩展并行输出接口电路如图所示。
试编写程序完成将SW1~SW8的状态反应在移位寄存器74LS164所接的LED上(如SW1闭合时L0应点亮)。
答:电路图如下:ORG 0000HMOV SCON,#00HMOV P1,#0FFHLOOP:MOV A,P1MOV SUBF,AJNB TI,$CLR TISJMP LOOPEND7 80C51单片机的系统扩展1.以80C31为主机,用2片27C256扩展64K EPROM,试画出接口电路。
2016cadcam试题【可编辑】
CAD/CAM模拟试题(一)一、填空题(每空2分,共20分)1.在零件分类方法中,生产流程分析法可以分为关键_______法、顺序________法和________分析法。
2.图标菜单段标题固定为________,子莱单标题之下的第______项为图标菜单的标题,图标菜单只能通过________菜单或________菜单调用。
3.数控机床的________环控制系统没有反馈测量系统,________环控制系统的测量元件装在丝杠或伺服马达端部,用来检测丝杠或伺服马达的回转角,间接测出机床运动部件的________,经反馈送回控制系统。
二、单项选择题(每小题3分,共24分。
从供选择的答案中选出正确的答案,将其编号填入括号内)1.列表框包括六个属性,下列不属于列表框的属性是( )。
A.edit-limit B.labelC.list D. tabs2.图像按钮包括三个属性,下列不属于它的属性是( )。
A. allow_acceptB. valueC. aspect_radioD. color3.FMS的管理控制系统的必备软件模块中不包括( )。
A接口模块B系统管理程序模块C网络模块D调度模块4.CIMS系统的各个子系统的联系不包括( )。
A数据联系 B 决策联系C组织联系D信息传输联系5.在AotuLISP中,(car(11StXy 2))的运算结果为( )。
A. xB.yC. zD. (yz)6.决策树又叫判定树,它不包括( )‘A.根B干C 分枝D节点7.二叉树的遍历方式中,先右后左的方式不包括是( )。
A. DLRB. RDLC. RLDD. DRL8.语句(substr(“AutoCADg 3))的执行结果是( )。
A. AutB. CADC. oCAD. uto三、简答题(共30分)1.CAD/CAM系统的配置应考虑哪些问题?(7分)2.简述在单向链表的第14个元素前插入一个数据的过程。
(8分)3.什么是码域法?(7分)4.派生式CAPP系统和创成式CAPP系统的工作原理有何不同?(8分)四、阅读理解题(每题13分,共26分)1.写出在AotuCAD编辑状态中运行函数tu时,在屏幕图形区和文本区的显示结果(de[un c:tu (/ pcl pc2 pc3 r p1 p2 p3 p4)(setq pcl (list 50.0 60.0))(setq pc2 (list 50.0 20.0))(setq r 20.0)(setq p1(polar pcl o r ))(setq p2(polar pc1 pir))(setq p3(polar pcl2 o r ))(setq p4(polar pc2 pir))(princ pcl pc2 pc3 r p1 p2 p3 p4)(command "arc" p1 “c” pc1 p2)(command "arc" p4 “c” pc2 pc3)(command "line" p1p3 “” )(command "line" p2p4 “c” ))2.绘出在AotuCAD编辑状态中下述文件在屏幕上显示的两级下拉菜单的内容*** popll[离合器][牙嵌式] *c* cyaqian[——][摩擦片式] *c* cmocapian[一>干式] *c* cgan[<一湿式] *c* cshi[——][磁粉式] *c* ccifen}参考答案一、填空题(每空2分,共20分)l。
(完整)2016最新广工anyview数据结构答案
【题目】若两棵二叉树T1和T2皆为空,或者皆不空且T1的左、右子树和T2的左、右子树分别相似,则称二叉树T1和T2相似.试编写算法,判别给定两棵二叉树是否相似.二叉链表类型定义:typedef struct BiTNode {TElemType data;struct BiTNode *lchild, *rchild;} BiTNode, *BiTree;**********/Status Similar(BiTree T1, BiTree T2)/*判断两棵二叉树是否相似的递归算法*/{if(!T1&&!T2)//同为空时,两树相似return TRUE;else if(T1&&T1){if(Similar(T1 -> lchild,T2 -> lchild)&& Similar(T1 -> rchild,T2 —> rchild))//两树都不为空时,判断左右子树是否相似return TRUE;elsereturn FALSE;}else//以上两种情况都不符合,就直接返回FALSEreturn FALSE;}/**********【题目】编写递归算法,求对二叉树T先序遍历时第k个访问的结点的值。
二叉链表类型定义:typedef struct BiTNode {TElemType data;struct BiTNode *lchild, *rchild;} BiTNode, *BiTree;**********/TElemType PreOrder(BiTree T, int &k) {TElemType x=’#’;if(T==NULL)return '#';if(k==1)return T-〉data;if(T—>lchild!=NULL){k--;x=PreOrder(T—>lchild,k);}if(T->rchild!=NULL&&x==’#’){k—-;x=PreOrder(T-〉rchild, k);}return x;}TElemType PreOrderK(BiTree T, int k)/* 求对二叉树T先序遍历时第k个访问的结点的值。
广工数据结构参考答案全(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)。
广工计算机系统老师布置作业答案
1.12如果某一计算任务用向量方式求解比用标量方式求解要快20倍,称可用向量方式求解部分所花费时间占总的时间的百分比为可向量化百分比。
请画出加速比与可向量化比例两者关系的曲线。
解:可向量化百分比为Fe, Se=20,根据Amdahl 定律SeFe Fe T To S nn +-==)1(1将Se 代入Amdahl 定律得en F S 201911-=1.13在题1.12中,为达到加速比2, 可向量化的百分比应为多少?en F S 201911-==2则可向量化的百分比Fe=0.526 1.14在题1.12中,为获得采用向量方式最大加速比的半值(即10)时,所需可向量化的百分比为多少。
en F S 201911-==10则可向量化的百分比Fe=0.947 1.15在题1.12中,如果某程序可向量化部分为70%,硬件设计组认为可以通过加大工程投资,使向量处理速度加倍来进一步增加性能;而编译程序编写组认为只需设法增加向量工作方式的百分比就同样可使性能得到相同的提高,问:此时需使可向量化成分再增加多少百分比就可实现。
你认为上述硬、软件两种方法中,哪一种方法更好?(1)用硬件组方法,已知Se=2 X 20 =40,Fe=0.7 解出Sn=40/12.7≈3.1496(2)用软件组方法,已知Se=20,得到硬件组方法的相同性能Sn=40/12.7 解出Fe=27.3/38≈0.7184(3)结论:软件组方法更好。
因为硬件组需要将Se 再提高100%(20→40),而软件组只需将Sn 20 1Fe 再提高1.84%(0.7→0.7184)。
1.18 设计指令存储器有两种不同方案:一是采用价格较贵的高速存储器芯片,另一是采用价格便宜的低速存储芯片。
采用后一方案时,用同样的经费可使存储器总线带宽加倍,从而每隔2个时钟周期就可取出2条指令(每条指令为单字长32位);而采用前一方案时,每个时钟周期存储器总线仅取出1条单字长指令。
2016年下半年嵌入式系统设计师(中级)上午选择+下午案例真题答案+解析(完整版)
2016年下半年(中级)嵌入式系统设计师考试上午选择1、(1)用来区分在存储器中以二进制编码形式存放的指令和数据。
A. 指令周期的不同阶段B. 指令和数据的寻址方式C. 指令操作码的译码结果D. 指令和数据所在的存储单元答案:A指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。
CPU执行指令的过程中,根据时序部件发出的时钟信号按部就班进行操作。
在取指令阶段读取到的是指令,在分析指令和执行指令时,需要操作数时再去读操作数。
2、计算机在一个指令周期的过程中,为从内存读取指令操作码,首先要将(2)的内容送到地址总线上。
A. 指令寄存器(IR)B. 通用寄存器(GR)C. 程序计数器(PC)D. 状态寄存器(PSW)答案:CCPU首先从程序计数器(PC)获得需要执行的指令地址,从内存(或高速缓存)读取到的指令则暂存在指令寄存器(IR),然后进行分析和执行。
3、设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。
若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是(3)。
A. -2^64~(1-2^-8)2^64B. -2^63~(1-2^-8)2^63C. -(1-2^-8)2^64~(1-2^-8)2^64D. -(1-2^-8)2^63~(1-2^-8)2^63答案:B浮点格式表示一个二进制数N的形式为N=2E×F,其中E称为阶码,F叫做尾数。
在浮点表示法中,阶码通常为含符号的纯整数,尾数为含符号的纯小数。
指数为纯整数,阶符1位、阶码6位在补码表示方式下可表示的最大数为63(2^6-1),最小数为-64(-2^6)。
尾数用补码表示时最小数为-1、最大数为1-2^-8,因此该浮点表示的最小数为-2^63,最大数为(1-2^-8)×2^63。
4、已知数据信息为16位,最少应附加(4)位校验位,以实现海明码纠错。
现代设计方法习题与答案(广东工业大学期末考试复习重点)
第1章1.何谓产品生命周期,简述其各个阶段.产品生命周期(Product Life Cycle),简称PLC,是指产品的市场寿命,即一种新产品从开始进入市场到被市场淘汰的整个过程。
PLC分为介绍期(Introduc- tion)、增长期(Growth)、成熟期(Mature)、衰退期(Decline)四个阶段.2.简述现代设计所指的理论与方法有哪些.3.简述产品开发的一般流程.产品基本开发流程的6个阶段:阶段0,计划:规划经常被作为“零阶段”是因为它先于项目的达成和实际产品开发过程的启动。
阶段1,概念开发:概念开发阶段的主要任务是识别目标市场的需要,产生并评估可替代的产品概念,为进一步开发选择一个概念.阶段2,系统水平设计:系统水平设计阶段包括产品结构的定义、产品子系统和部件的划分阶段3,细节设计:细节设计阶段包括产品的所有非标准部件及从供应商处购买的标准部件的尺寸、材料和公差的完整明细表,建立流程计划并为每一个即将在生产系统中制造的部件设计工具.阶段4,测试和改进:测试和改进阶段包括产品的多个生产前版本的构建和评估。
阶段5,产品推出:在产品推出阶段,使用规划生产系统制造第2章1.简述功能分析法的设计步骤。
总功能分析、功能分析、功能元求解、求系统原理、解求最佳系统原理方案。
2.什么是技术系统?举例说明技术系统应具有的分功能单元.技术系统所具有的功能,是完成技术过程的根本特性.从功能的角度分析,技术系统应具有下列能完成不同分功能的单元:①作业单元,完成转换工作;②动力单元,完成能量的转换、传递与分配;图3-1 技术推动的创新过程③控制单元,接受、处理和输出控制信息;④检测单元,检测技术系统各种功能的完成情况,反馈给控制单元;⑤结构单元,实现系统各部分的连接与支承切削加工中心的功能构成第3章1.产品创新的概念是什么?产品创新在哪些诱导机制下完成的,举例说明.产品创新:新产品在经济领域里的成功运用,包括对现有生产要素进行组合而形成新的产品的活动。
2016年下半年嵌入式系统设计师考试下午真题(完整版)
希赛网() 400-111-9811
4、 【说明】 某公司承接了一个数据处理模块的项目,由沈工负责模块的方案设计,沈工的 设计方案如图 4-1 所示。该数据处理模块以 PowerPC 处理器为核心,设计了存 储器、以太网、温度传感器、调试接口等功能电路。 处理器外接 FLASH 存储器用于存储上电初始化程序和应用程序。处理器通过 I2C 接口连接测温电路,监控模块的工作温度。以太网、串口、调试离散量等 用于软件调试和状态显示。 测温电路选用 ADT7461AR 芯片,用于测试模块温度,ADT7461AR 是一个双通道 数字温度计,工作电压 3v 至 5v,具有低/超温报警功能,采用 I2C 接口实现主 机对远程/本地温度数据的采集,采集数据存储在高/低两个数据寄存器中,每 个寄存器为 16 位,高寄存器表示整数值,低寄存器表示小数值。
全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811 全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
问题内容: 【问题 1】 (1)什么是 C 语言的条件编译? (2)请解释#ifndef 的作用。 (3)分析【C 程序代码 1】,写出该段执行后的输出结果。 【问题 2】 完成【C 程序代码 2】中的(1)~(3)空,将答案写到答题纸相应的位置。 【问题 3】 完成【C 程序代码 3】中的(4)~(6)空,将答案写到答题纸相应的位置。 详细答案及解析尽在希赛网
全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
3、 【说明】 某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数 据采集的可靠性,对采集数值使用三余度采集方法进行三个通道的数据采集。 1.三余度数据采集及处理要求: (1)如果某通道采集值超过[3.0,3.0]v 正常范围内,且与任一相邻通道间差 值不大于 0.5v,则该通道数据满足要求; (2)如果某通道采集值超过[-3.0,3.0]v 正常范围,或者此通道采集值与其 他两个通道的差值均大于 0.5v,则该通道数据不满足要求; (3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据平均值; (4)如果三通道值均满足要求,且相邻两数值的差值相等,则取三个采集值的 中间值; (5)如果仅有一个通道数据不满足采集要求,取满足要求的两个通道数据平均
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if((*p).birth.month>(*L).birth.month) continue;
if((*p).birth.month==(*L).birth.month&&(*p).birth.day>=(*L).birth.day) continue;
}
/* 11.173 课程链表结点的结构体类型定义如下:
struct courseNode //课程链表结点的结构体类型
{ int cID; //课程号,取值0~99
char name[10]; //课程名
float credit; //学分,取值0~5
int semester; //学期,取值1~8
struct courseNode *next;
};
结构体链表Lc存储了多门课程的信息。写一函数,将课程号
为c的课程的学分修改为t。
*/
struct courseNode *creditChange(struct courseNode *Lc, int c, float t)
{
struct node *p=L,*q;int n=0,i=0; char t;
while(p!=NULL)
{p=p->next;
++n;
}
p=L;
for(;i<n-1;i++)
{ while(p!=NULL)
/* 11.023 数组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;
struct node{
char ch;
struct node *next;
};
编写函数,对单向链表L实现就地逆置,即将
所有结点的指针反向,原链头当作链尾,原
链尾当作链头,并返回逆置后链表的头指针。
**********/
struct node *inverse(struct node *L)
};
结构体链表Lc存储了各学期多门课程的信息。写一函数,
求学期s的总学分。
*/
float creditSum(struct courseNode *Lc, int s)
/* 若Lc是空表,则返回0;
否则返回学期s的总学分
*/
{
struct courseNode *p;
{ int cID; //课程号,取值0~99
char name[10]; //课程名
float credit; //学分,取值0~5
int semester; //学期,取值1~8
struct courseNode *next;
struct date birth; //出生日期
};
结构体数组s存储了n个人的名字和出生日期。写一函数,由数组s中n个人
的信息及其顺序构造相应的链表。链表的结点的结构体类型定义如下:
struct studentNode //结构体类型
{ char name[10]; //人名
// char name[10]; //课程名
// float credit; //学分,取值0~5
// int semester; //学期,取值1~8
// struct courseNode *next;
// };
//结构体链表Lc存储了多门课程的信息。写一函数,将课程号为c的课程结点删除。
}
L=p;
}
return((*L).name);
}
/* 11.063 结构体类型定义如下:
struct course
{ int cID; //课程号,取值0~99
char name[10]; //课程名
{ struct studentNode *head,*p1,*p2;int i=0;
p1=p2=(struct studentNode *) malloc(N); head=NULL;
while(i<n)
{ strcpy (p1->name,s[i].name); p1->birth=s[i].birth;
{ q=p->next;
if((p->ch)<(q->ch))
{t=p->ch,p->ch=q->ch,q->ch=t;}
if(q->next!=NULL)
p=p->next;
else p=NULL;
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)
struct date birth; //出生日期
struct studentNode *next
};
*/
#define N sizeof(struct studentNode)
struct studentNode *CreateLinkList(struct student s[], int n)
结构体类型定义如下:
struct date{int year; int month; int day;}; //日期结构体类型
struct studentNode //链表结点的结构体类型
{ char name[10]; //人名
struct date birth; //出生日期
struct courseNode *p,*q,*t;
p=*Lc;
while(c!=p->cID&&p->next!=NULL)
{q=p;
p=p->next;
}
if(c==p->cID)
{ if(p==*Lc)
{ t=p;
*Lc=p->next;
}
else
{t=p;
q->next=p->next;
}
}
return(t);
}
/**********
11.302 单向链表的结点类型定义如下:
if(i==0) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct studentNode *) malloc(N);
++i;
}
p2->next=NULL; return (head);
}
p=L;
}
return L;
}
/**********
11.352 单向链表的结点类型定义如下:
struct node{
char ch;
struct node *next;
return sum;
}
/* 11.133 日期和结构体类型定义如下:
struct date{int year; int month; int day;}; //日期结构体类型
struct student //结构体类型
{ char name[10]; /um=0.0;
for(i=0;i<n;i++)
if(c[i].semester==s) sum+=c[i].credit;
return sum;
}
/* 11.073 课程链表结点的结构体类型定义如下:
struct courseNode //课程链表结点的结构体类型
//
//要求实现下列函数:
struct courseNode *deleteCourse(struct courseNode **Lc, int c)
/* 若在链表Lc中课程c不存在,则删除不成功,返回null;
否则从链表Lc中删除该课程结点,并返回指向该课程结点的指针。
*/
{
float sum=0.0;
if(Lc==NULL) return 0.0;
for(p=Lc->next;p!=NULL;p=p->next)
if((*p).semester==s) sum+=(*p).credit;
if(s==1)sum+=(*Lc).credit;
/* 若课程c不存在,则修改不成功,返回null;
否则修改该课程的学分为t,返回指向该课程结点的指针。
*/
{
struct courseNode *Lc2;
while(Lc!=NULL)
{if(Lc->cID==c)
Lc->credit=t,Lc2=Lc;
struct studentNode *next
};
*/
char *oldest(struct studentNode *L)
/* 若L是空表,则返回空指针null
否则返回表中年龄最大者的名字
*/
{
struct studentNode *p;
Lc=Lc->next;