广工Anyview试题答案第八章

合集下载

广工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)。

广工anyview7-9章参考答案

广工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; //一个用来找,一个用来记录, 并把第一个假设为条件。

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试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

广工数据结构anyview答案

广工数据结构anyview答案

广工数据结构anyview答案第4章//03******************************************************************/******* ***【题目】试写一算法,同时实现链栈的判空操作方式。

链栈的类型定义为:typedefstructlsnode{elemtypedata;//数据域structlsnode*next;//指针域}lsnode,*lstack;//结点和链栈类型***********/statusstackempty_l(lstacks)/*对链栈s判空。

若s就是空栈,则回到true;否则回到false*/{if(null==s)returntrue;elsereturnfalse;}//05******************************************************************/******* ***【题目】试写一算法,同时实现链栈的挑栈顶元素操作方式。

链栈的类型定义为:typedefstructlsnode{elemtypedata;//数据域structlsnode*next;//指针域}lsnode,*lstack;//结点和链栈类型***********/statusgettop_l(lstacks,elemtype&e)/*取链栈s的栈顶元素到e,并返回ok;*//*若s是空栈,则失败,返回error。

*/{if(null==s)returnerror;elsee=s->data;returnok;}//31******************************************************************/******* ***【题目】试写一算法,同时实现链队列的判空操作方式。

链队列的类型定义为:typedefstructlqnode{elemtypedata;structlqnode*next;}lqnode,*queueptr;//结点和结点指针类型typedefstruct{queueptrfront;//队头指针queueptrrear;//队尾指针}lqueue;//链队列类型***********/statusqueueempty_lq(lqueueq)/*认定链队列q与否为空队列。

(第八)课后习题答案

(第八)课后习题答案

Fj
=
FL 8r
=
20 × 300 ×10−3 8 × 75 2 ×10−3
=5
2kN
由图可知,螺栓最大受力
Fmax = Fi2 + Fj 2 + 2Fi Fj cos θ = 2.52 + (5 2)2 + 2 × 2.5 × 5 2 × cos 45° = 9.015kN
∴ τ = Fmax = 9.015 ×103 = 319 > [τ]
+
Ld
− Ld 0 2
= 550 +
2240 − 2214 2
= 563mm
中心距的变化范围为 550 ~ 630mm 。
∴由d0 ≥
4Fmax
π[τ]
可知采用(a)布置形式所用的螺栓直径较小
5-10
第六章 键、花键、无键连接和销连接 习题答案
6-3 在一直径 d = 80mm 的轴端,安装一钢制直齿圆柱齿轮(如下图),轮毂宽度 L = 1.5d ,工作时有轻
微冲击。试确定平键的尺寸,并计算其允许传递的最大扭矩。
[解] 根据轴径 d = 80mm ,查表得所用键的剖面尺寸为 b = 22mm , h = 14mm 根据轮毂长度 L'= 1.5d = 1.5 × 80 = 120mm 取键的公称长度 L = 90mm 键的标记 键 22 × 90GB1096 - 79 键的工作长度为 l = L − b = 90 − 22 = 68mm 键与轮毂键槽接触高度为 k = h = 7mm 2
Θ 5 m s < ν < 30 m s ∴ 带速合适
③计算从动轮的基准直径
dd2
=
d d 1n1 (1 −

PLC应用技术(广西工业职业技术学院)智慧树知到课后章节答案2023年下广西工业职业技术学院

PLC应用技术(广西工业职业技术学院)智慧树知到课后章节答案2023年下广西工业职业技术学院

PLC应用技术(广西工业职业技术学院)智慧树知到课后章节答案2023年下广西工业职业技术学院广西工业职业技术学院第一章测试1.PLC的含义是()。

答案:可编程控制器2.世界上第一台PLC-产生于()。

答案:1969年3.某PLC的点数是24个点,表示()。

答案:输入和输出点总数是24个4.按结构形式分,S7-1200PLC是属于()。

答案:整体结构5.S7-1200PLC属于小型机,点数在()。

答案:256点以内6.数字量输入模块某一外部输入开关接通时,对应的过程映像输入位为()。

答案:1状态7.S7-1200 CPU集成了()等工艺功能。

答案:高速计数、脉冲输出、PID控制8.对SB、DI、DO、AI、AO下面说法正确的是()。

答案:SB是信号板模块、DI是数字量输入模块、DO是数字量输出模块,AI是模拟量输入模块,AO是模拟量输出模块9.继电器输出的PLC其负载电源电压范围为DC5~30V或AC5~250V。

可带动下面的电灯负载(交流)最大是()。

答案:200W10.PLC是由CPU模块、I/O接口、电源、存储器等组成。

答案:对11.PLC能用于工业现场的原因是价格便宜。

答案:错12.S7-1200幅盖了S7-200全部功能和S7-300R的部分功能。

答案:对13. CPU1215C-DC/DC/DC表示是晶体管输出。

答案:对14.PLC采用扫描方式工作。

答案:错15.对PLC的CPU1214C AC/DC/Relay,其中AC表示PLC的电源是交流电,DC表示输入端电源是直流电,Relay表示PLC输出端是继电器输出。

答案:对16.继电器输出的PLC输出电压是交流5V-250V或直流5V-30V,输出电流是0.3A,负载是DC30W,AC300W。

答案:错17.晶体管输出的PLC输出电压是交流5V-250V或直流24V,输出电流是0.5A。

答案:错18.CPU1215C-DC/DC/Relay的输出端负载电源只能用直流电。

(完整)2016最新广工anyview数据结构答案

(完整)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)分析

广工数据结构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、答:MC9S08AC16单片机包含三个独立定时器模块:TPM1、TPM2和TPM3,支持多种与时间有关的功能,如传统的定时功能、输入捕捉(In-put Capture) 功能、输出比较(Output Compare) 功能和带缓冲的边沿对齐PWM(Pulse Width Modulation)功能。

2、答:HCS08单片机的TPM模块由时钟控制、16位自由计数器、比较器、模寄存器、控制逻辑以及各通道寄存器组成。

(1)时钟控制主要完成定时器模块基础时钟的获取与控制.(2)16位自由计数器,是TPM模块的核心部分,它是一个自运行计数器或一个递增/递减计数器(3)模寄存器是一个16位寄存器,它可以用来控制16位自由计数器的上限计数值。

(4)比较器是也一个16位寄存器,它可以用来对比当前16位自由计数器值与模寄存器的值是否相等。

(5)控制逻辑主要完成定时器模块的控制,其主要是通过控制寄存器完成。

(6)每个TPM模块具有数量不等的工作通道,其工作状态的控制式通过各通道寄存器完成。

3、答:定时/计数功能是定时器模块最基本的功能,主要使用到模块内部时钟源控制、计数器、比较器和模寄存器等,其工作过程建立在16位核心计数器基础之上,定时和计数操作的原理都是对时钟脉冲信号进行计数统计。

定时器模块通过寄存器TPMxSC设置模块时钟源和分频系数,确定输入到16位计数器中时钟信号的频率,在计数器加1(或者减1)操作下将当前计数器(TPMxCNTH:TPMxCNHTL)的值与模寄存器(TPMxMODH:TPMxMODL)中的值进行比较,如果计数器中的数值没有达到模寄存器中的预置数值则计数器继续计数,如果计数器中的计数值达到或大于模寄存器中预置值则产生溢出,并在中断使能的情况下产生一个溢出中断请求。

4、答:输入捕捉是用来检测外部的事件或输入信号的变化。

当外部事件发生或输入信号发生变化时,在相应的输入捕捉引脚上产生一个指定的边沿跳变(通过TPMxSC寄存器的ELSnB:ELSnA位设定),定时器捕捉到特定的边沿跳变后把计数器的当前值锁存到通道值寄存器中,如果通道允许中断则系统会自动产生一次输入捕捉中断。

单片机第8章习题答案

单片机第8章习题答案

第8章习题答案1.简述键盘扫描的主要思路。

答案:键盘扫描的主要思路:首先确定是否有键按下,消除抖动,若有键按下,输出逐行或列的扫描字,读取列或行的状态,确定按键键值,然后再判断按键是否释放,若释放,即可返回。

2.简述软件消除键盘抖动的原理。

答案:软件消除键盘抖动的原理:当CPU发现有键按下的情况下,为了防止是机械抖动的误动作,可以采用软件延时10ms,然后再次检测按键是否仍然为闭合状态,若仍然闭合,则确定有键按下,否则就是键盘抖动,不予理睬。

3.什么叫LED的动态显示和静态显示。

答案:静态显示形式,即七段LED数码管在显示某一个字符时,相应的段(发光二极管)恒定的导通或截至,直至换显其他字符为止。

动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端(称位选线)分别由一位I/O口线控制,以实现各位的分时选通。

4.要求利用8051的P1口扩展一个2 2行列式键盘电路,画出电路图,并根据所绘电路编写键扫描子程序。

答案:设行线H1~H2连接到51单片机P1口的P1.0~P1.1,列线L1~L2连接到P1口的P1.4~P1.5。

电路图如下:键扫描子程序:KEY: MOV P1, #0FH ;列输出低电平,行输出高电平MOV A, P1 ;读P1口状态ANL A, #0FH ;保留行状态CJNE A, #0FH, KEY0 ;有键按下转KEY0SJMP KEY ;无键按下等待,转键检测KEY0: LCALL DELAY10 ;调10mS延时取抖MOV A, P1ANL A, #0FHCJNE A, #0FH, KEY1 ;不是抖动转键值判断SJMP KEY ;是抖动到键检测KEY1: MOV P1, #11101111B ;第一列键被按下判断MOV A, P1ANL A, #0FHCJNE A, #0FH, KEYC1 ;第一列键被按下转KEYC1处理MOV P1, #11011111B ;第二列键被按下判断MOV A, P1ANL A, #0FHCJNE A, #0FH, KEYC2 ;第二列键被按下转KEYC2处理LJMP KEY ;均不是转到键检测KEYC1: MOV A, P1 ;读键值键值处理JB E0H, KEYC11LCALL K1 ;K1键处理SJMP FANHKEYC11: LCALL K3 ;K3键处理SJMP FANHKEYC2: MOV A, P1 ;读键值键值处理JB E0H, KEYC21LCALL K2 ;K2键处理SJMP FANHKEYC21: LCALL K4 ;K4键处理FANH: RET5.请在图8-1的基础上,设计一个以中断方式工作的开关式键盘,并编写其中断键处理程序。

广东工业大学试卷参考答案及评分标准(A)

广东工业大学试卷参考答案及评分标准(A)

评分标准:此题共5分,每个答案1分,每句4个以上单词错不得分,结构错扣0.5分2. What are non-tariff barriers? Please name at least 8 types of non-tariff barriers.Non-tariff barries are those trade restrictions other than tariff. Examples of non-tariff barries are: quoto, import license, foreign exchange control, state monopoly of import and export, government procurement policy, advanced deposit, technical standards, health & sanitary regulations.评分标准:此题共5分,单词错扣0.5分,结构错扣0.5分,少答一个口0.5分3. When setting prices for exports, what factors do we need to consider?In setting the price, exporters must consider their overall marketing strategy, the supply and demand in the international market and the target market.(2分). The costs must be estimated accurately. The costs to be considered include the cost of production, the cost of goods and the cost of transport(2分). Furthermore, if the order is urgent or if the delivery term used represents higher risks to the exporter, there should be returns on the urgency and the risks(1分).评分标准:此题共5分,单词错扣0.5分,结构错扣0.5分4. What is the difference between a commercial draft and a banker’s draft?A commercial draft is one that is drawn by a firm or an exporter, while a banker’s draft is drawn by one bank on another bank(5分).评分标准:此题共5分,单词错扣0.5分,结构错扣0.5分5.What documents are needed in processing a claim for compensation?The following documents are usually required processing a claim for compensation:1)Original insurance certification or policy (0.5分)2)Original B/L, AWB or other contract of carriage (0.5分)3)Export invoice (1分)4)Survey report or other documentary evidence detailing the loss or damage (1分)5)Any exchange of correspondence with carriers and other parties regarding their liability for the loss or damage. (1分)6)Any landing account or weight notes at final destination. (1分)评分标准:此题共5分,单词错扣0.5分,结构错扣0.5分V Fill in the contract form in English with the following particulars: (15%)Shanghai Silk Branch上海中山东一路十七号17 ZHONG SHAN ROAD (E.1) SHANGHAL. CHINA售货确认书SALES CONFIRMATION TIONTo Messrs. 日期Date 8th July, 2006编号No: SSB9574签约地点Signed at : Shanghai 兹经买卖双方同意成交下列商品订立条款如下:The undersigned Sellers and Buyers have agreed to close the following transactions according to the terms and conditions stipulated below:(1) 商品:Commodity:KKK Brand Men’s T-shirt,(2) 规格:Specification:white, L-size and M-size(3) 数量:Quantity:250 dozen with L-size & M-size equal number(4) 单价:Unit Price:US$100.00 CIF New York(5) 总值:Total Value:US$50,000(6) 装运期:Time of Shipment:September 2006(7) 包装:Packing:in cartons of 2 dozen each, 10 cartons to a wooden case(8) 装运口岸和目的地:Loading Port and Destination:Shanghai Port to New York Port(9) 装船唛头Shipping Marks:at our option(10) 付款条件:Terms of Payment:TERMS of payment:by 100% value confirmed irrevocable letter of credit by draft at sight with transshipment and partial shipments allowed, to reach the Sellers ___30___ days before month of shipment, with shipment validity arranged till the 15th day after the month of shipment, and remain valid for negotiation in the loading port until the __15____ day after the shipment validity.(11) 保险Insurance:To be covered by the Sellers against All Risks and War Risk for 110% of the invoice value.买方卖方The Buyers The Sellers评分标准:此题共15分,单词错扣0.5分,结构错扣0.5分VI 案例分析 (10%)某公司以FOB条件出口一批茶具,买方要求公司代为租船,费用由买方负担。

广工班操作系统课后答案

广工班操作系统课后答案

广工班操作系统课后答案吐血整理>_<所有题目+答案,绿色部分是答案漏了或者是我自己做的,请大家自己补上,其他答案提供者是雪梅(第一次弘扬上传的答案和今早那份答案的汇总版了),有兴趣的童鞋可以拿去打印,格式调好了梦婷第一章P191-2.你对操作系统和用户程序之间的关系有何看法?阐述你的看法。

操作系统和用户程序之间是相互调用的一种复杂的动态关系,操作系统通过虚拟机界面为用户程序提供某种服务,用户程序在运行的过程中不断使用操作系统提供的服务来完成自己的操作,主程序可以是操作系统或用户程序,子程序可以使用户程序或操作系统。

1-7.有人说设备管理软件(设备驱动程序)因为经常由第三方提供,因此不应该作为操作系统的一部分。

你对此有何看法?你认为应该如何判断一个软件是否属于操作系统?我认为设备管理软件不应作为操作系统的一部分。

因为由第三方提供,所以安全性得不到保证,而且不同的提供方提供的软件之间存在差异,兼容性上存在问题,或许软件不能在系统中运行。

判断一个软件是否属于操作系统,就要看它是否满足操作系统的功能,而且要看它安全性、健壮性能是否好。

第二章P372-3. 计算机从过去单一操作员单一控制终端到现在的个人机,似乎我们转了一个圈。

是不是我们人类总喜欢反复无常呢?请阐述你对这种否定之否定的观点.不是反复无常,操作系统是根据时代的要求而发展的,单一操作员单一控制终端时代,计算机成本极高,人对计算机的要求是立即执行人发出的命令,随着时代的发展,人类要求计算机越来越小、越来越快、越来越便宜、利用率越来越高,现在低廉的价格和多样的功能,已使人们对计算机的期望变成个人工具。

所以这并不是反复无常,而是旋转式上升。

2-4.虽然我们不赞成对未来进行预测,但你是否对操作系统的未来演变有自己的看法呢?一是向微内核方向发展,二是向大而全的全方位方向发展。

微内核操作系统虽然有不少人在研究,但在工业界获得的承认并不多。

这方面的代表有MACH系统。

2016广工Anyview试题答案-第八章

2016广工Anyview试题答案-第八章

/**********【习题 8.011 】请编写函数 func(char s[], char t[], int n) , 由数组 s 中长度为 n 的字符序列构造其逆序列,并存储在数组 例如,由给定字符序列s="are"求得逆序列t="era";由s="time"求得 t="emit" 。

**********/void func(char s[], char t[], int n)/* 数组 s 的前 n 个元素存放给定的字符序列, 数组 t 的前 n 个元素存放 s 的逆序列。

注意:数组的下标从 0 开始。

*/{for(int i=0;i<n;i++) t[i]=s[n-i-1];}/**********【习题 8.012 】请编写函数 func(char*s, char *t) ,由字符串s 构造其逆串t 。

例如,由给定串 s="are"求得逆串t="era"; 由 s="time" 求得 t="emit" 。

**********/void func(char *s, char *t)/* s 是给定字符串的起始地址,t 是求得 s 的逆串的起始地址*/{int n=0;for(int i=0;*(s+i)!='\0';i++) n++;for(i=0;i<n;i++)t[i]=s[n-i-1];}/**********【习题8.015】对长度为n 的字符串s1,除首、尾字符外,将 其余字符按ASCII 码降序排列,组合成一个新的字符串 **********/ void func(char *s1, char *s2, int n)/* s1 为字符串的起始地址, s2为新字符串的起始地址, n 为字符串的长度。

第八章陈家璧版_光学信息技术原理及应用习题解答

第八章陈家璧版_光学信息技术原理及应用习题解答

第八章 习 题解答8.1利用4f 系统做阿贝—波特实验,设物函数t (x 1,y 1)为一无限大正交光栅 ⎥⎦⎤⎢⎣⎡*⨯⎥⎦⎤⎢⎣⎡*=)comb(rect()comb()rect(),(21212111111111b y a y b b x a x b y x t其中a 1、a 2分别为x 、y 方向上缝的宽度,b 1、b 2则是相应的缝间隔。

频谱面上得到如图8-53(a )所示的频谱。

分别用图8-53(b )(c )(d )所示的三种滤波器进行滤波,求输出面上的光强分布(图中阴影区表示不透明屏)。

(a ) (b ) (c ) (d )图8.53(题8.1 图)答:根据傅里叶变换原理和性质,频谱函数为 T ( f x , f y ) = ℱ [ t ( x 1 , y 1 )] = { 11b ℱ [)re ct(11a x ]·ℱ [)comb(11b x ] } *{21b ℱ [)rect(21a y ·ℱ [)comb(21b y ]} 将函数展开得 T ( f x , f y ) ={}•••++++)δ()sinc()δ()sinc()sinc(111111111b 1b 1-x x x f b a f b a f a b a *{}•••++++)δ()sinc()δ(sinc()sinc(222222222b 1b 1-y y y f b a f b a f a b a (1) 用滤波器(b )时,其透过率函数可写为1111/0(,)01/x y x y x y f b f F f f f b f =±=⎧=⎨≠=⎩任何值滤波后的光振幅函数为 T ·F =[])δ()δ()sinc(111111b 1b 1-++x x f f b a b a 输出平面光振幅函数为 t ’(x 3,y 3)= ℱ -1[ T ·F ] =)]}(exp[)](){exp[sinc(13131111b 2-b 2x j x j b ab a ππ+ =)(cos )sinc(131111b 22x b ab a π• 输出强度分布为I (x 3,y 3)= )(cos )(sinc 1321122121b 24x b a b a π• = )cos()(sinc 131122121b 42x b a b a π• - C 其中C 是一个常数,输出平面上得到的是频率增加一倍的余弦光栅。

广工Anyview试题答案

广工Anyview试题答案

/**********【习题9.023】结构体类型定义如下:structdate{intyear;intmonth;intday;};//定义日期结构体类型structstudent{charname[20];structdatebirth;//出生日期};结构体数组s存储了n个人的名字和出生日期。

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

**********/char*oldest(students[],intn){intj,k=0;for(j=1;j<n-1;j){if(s[k].birth.year>s[j].birth.year)k=j;elseif(s[k].birth.year==s[j].birth.year){if(s[k].birth.month>s[j].birth.month)k=j;elseif(s[k].birth.month==s[j].birth.month)if(s[k].birth.day>s[j].birth.day)k=j;}}returns[k].name;}/**********【习题9.025】结构体类型定义如下:structdate{intyear;intmonth;intday;};//定义日期结构体类型structstudent{charid[10];//学号charname[20];//姓名structdatebirth;//出生日期};结构体数组s存储了n个人的学号、名字和出生日期。

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

**********/structstudentoldest(structstudents[],intn){intj,k=0;for(j=1;j<n-1;j){if(s[k].birth.year>s[j].birth.year)k=j;elseif(s[k].birth.year==s[j].birth.year){if(s[k].birth.month>s[j].birth.month)k=j;elseif(s[k].birth.month==s[j].birth.month)if(s[k].birth.day>s[j].birth.day)k=j;}}returns[k];}/**********【习题9.027】结构体类型定义如下:structstudent {charid[10];//charname[10];//intscore[5];//};结构体数组s 存储了n 个学生的学号、名字和各门课成绩。

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

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

第六章思考与练习题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)这个可行的组合方案有多个。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/**********【习题】请编写函数func(char s[], char t[], int n),由数组s中长度为n的字符序列构造其逆序列,并存储在数组t中。

例如,由给定字符序列?慜敲求得逆序列?敜慲;由?瑜浩履求得?敜業屴。

**********/void func(char s[], char t[], int n)/* 数组s的前n个元素存放给定的字符序列,数组t的前n个元素存放s的逆序列。

注意:数组的下标从0开始。

*/{for(int i=0;i<n;i++)t[i]=s[n-i-1];}/**********【习题】请编写函数func(char*s, char *t),由字符串s构造其逆串t。

例如,由给定串?慜敲求得逆串?敜慲;由?瑜浩履求得?敜業屴。

**********/void func(char *s, char *t)/* s是给定字符串的起始地址,t是求得s的逆串的起始地址*/{int n=0;for(int i=0;*(s+i)!='\0';i++)n++;for(i=0;i<n;i++)t[i]=s[n-i-1];}/**********【习题】对长度为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++)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){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)){t=*(s2+j);h=j;}*(s2+h)=s2[k++];s2[k-1]=t;t=s2[k];}}}/**********【习题】以字符串s第m(>=0)个字符开始的所有字符,按升序的次序构成字符串t。

**********/void substr(char *s, int m, char *t)/* 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(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];}}}/**********【习题】在字符串s中查找字符c,如果找到,返回字符c首次出现在字符串s中的位置指针;否则,返回空指针NULL。

**********/char *match(char *s, char c)/* 返回字符在串s中首次出现的位置指针*/{for(int i=0;s[i]!='\0';i++)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日。

**********/int month_day(int year, int yearday, int *pmonth, int *pday)/* year是年,yearday是天数,若year和yearday合理,则*pmonth和*pday是计算得出的月和日,函数返回1;。

0否则,函数返回*/{int date[12]={31,29,31,30,31,30,31,31,30,31,30,31};if(year%4==0&&yearday>0&&yearday<367){*pmonth=yearday/31+1;if(*pmonth>2){*pday=yearday;for(int i=0;i<*pmonth-1;i++)*pday-=date[i];}else if(*pmonth==1)*pday=yearday;else *pday=yearday-31;return 1;}elseif(year%4!=0&&yearday>0&&yearday<366){*pmonth=yearday/29+1; date[1]=28;if(*pmonth>2){*pday=yearday;for(int i=0;i<*pmonth-1;i++)*pday-=date[i];}else if(*pmonth==1)*pday=yearday;else *pday=yearday-31;return 1;}return 0;}/**********【习题】请编写一个函数func,通过略去非数字字符,将字符串s转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

**********/long func(char *s)/* s是一个数字字符串的地址,函数返回值为由s含有的数字字符转换得到的数(包含正负数情况)*/{{int i=0;long t=0;bool meet_negative=false;bool meet_number=false;while(s[i]){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)return -t;return t;}}/**********【习题】请编写一个函数findmax(int []s, int n),返回数组s中n(>0)个整数中的最大值。

注意:要求在函数中采用指针(而不是下标)来处理数组元素。

**********/int findmax(int s[], int n)/* 返回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中有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--)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(int x, int y, int *sum){*sum=x+y;}/**********【习题】编写函数,返回指针参数x和y所指向的变量的值之和。

**********/int func(int *x, int *y){return *x+*y;}/**********【习题】编写函数,比较指针参数x和y分别指向的变量,若前者的值较大,则交换两者的值,并返回1;否则无须交换,返回0。

**********/int func(int *x, int *y){if(*x>*y){int t=*x;*x=*y;*y=t;return 1;}return 0;}/**********【习题】假设指针a指向某数组中的一个元素。

编写函数,在从元素*a开始的n个元素范围内,向后查找给定值x,一旦找到值等于x的元素,则返回该元素的序号;若找不到,则返回0。

例如,假定a指向的10个元素依次为5,6,3,0,-4,8,9,-6,8,-7,若x=5,则返回1;若x=8,则返回6;若y=4,则返回0。

**********/int func(int n, int *a, int x){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).{int t=0;for(int i=0;i<n;i++)if(*(a+i)==x)t++;if(t==0)return 0;return t;}/**********【习题】编写函数,返回指针参数s所指向的字符串的长度。

相关文档
最新文档