西工大noj答案完整版概论
西北工业大学理论力学习题答案(完整资料).doc

第1章:静力学的基本概念
第二章:平面基本力系
第三章:平面任意力系
第五章:空间基本力系
第六章:空间任意力系
第七章:重 心
第八章:点的运动
第九章:刚体的基本运动
第十章:点的复合运动
第十一章:刚体的平面运动第十 Nhomakorabea章:刚体的转动合成
第十四章:质点动力学基础
第十五章:质点的振动
第十七章:动能定理
第十八章:动量定理
第十九章:动量矩定理
第二十章:碰撞理论
第二十一章:达朗伯原理
第二十二章:虚位移原理
西工大新版poj部分题答案

1.#include <stdio.h>int main(){int a[10]={0},i,j,num,count; for(i=2;i<1000;i++){ count=0;num=i;for(j=1;j<i/2+1;j++){if(i%j==0){num-=j; a[count++]=j;}}if(num==0){printf("%d=%d",i,a[0]);for(j=1;j<count;j++)printf("+%d",a[j]);printf("\n");}}return 0;}2..#include <stdio.h>#include <math.h>int main(){double x1,a,eqs=1,x2; scanf("%lf",&a);x1=a/2;while(fabs(eqs)>=0.00001){ x2=x1;x1=1.0/2*(x1+a/x1);eqs=x2-x1;}printf("%.5lf\n",x1); return 0;}3.#include <stdio.h>double fun(double x){return (2*x*x*x-4*x*x+3*x-6); }int main(){double a,b,x;scanf("%lf%lf",&a,&b);x=(a+b)/2.0;while(fun(x)!=0){if(fun(x)<0)a=x;else b=x;x=(a+b)/2;}printf("%.2lf\n",x);return 0;}4.#include <stdio.h>int main(){char A,B,C;for(A='X';A<='Z';A++)for(B='X';B<='Z';B++)for(C='X';C<='Z';C++)if(A!='X'&&C=='Y'&&A!=B&&B!=C&&C!=A)printf("A=%c\nB=%c\nC=%c\n",A,B,C);return 0;}5.#include <stdio.h>void swap(int *m,int *n){int t;if(*m>*n){t=*n;*n=*m;*m=t;}}int main(){int a,b,i,j;scanf("%d%d",&a,&b);swap(&a,&b);for(i=a+1;i<b;i++)for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i)printf("%d ",i);}printf("\n");return 0;}6.#include <stdio.h>int main(){int i;double sum=0,a=2,b=1,t; for(i=0;i<20;i++){sum+=a/b;t=a;a=a+b;b=t;}printf("%lf\n",sum); return 0;}7.#include <stdio.h>#include <math.h>int main(){int a[5]={0},c[5],i;double b[5]={8*12*0.0084,5*12*0.0075,3*12*0.0069,24*0.0066,12*0.0063},max=0,sum; for(a[0]=0;a[0]<3;a[0]++)for(a[1]=0;a[1]<=(20-8*a[0])/5;a[1]++)for(a[2]=0;a[2]<=(20-8*a[0]-5*a[1])/3;a[2]++)for(a[3]=0;a[3]<=(20-8*a[0]-5*a[1]-3*a[2])/2;a[3]++){a[4]=20-8*a[0]-5*a[1]-3*a[2]-2*a[3];sum=1;for(i=0;i<5;i++)sum*=pow((1+b[i]),a[i]);if(sum>max){max=sum;for(i=0;i<5;i++)c[i]=a[i];}}for(i=0;i<5;i++)printf("%d ",c[i]);printf("\n%.2f",max*2000);return 0;}8.#include <stdio.h> #include <math.h> int main(){int i=0;double m;scanf("%lf",&m);while(fabs(m)>=1) {m=m/10;i++;}printf("%d\n",i); return 0;}9.#include <stdio.h>#include <math.h>int main(){int s=1;double pi=0,n=1,t=1;while(fabs(t)>1e-6)pi=pi+t,n=n+2,s=-s,t=s/n;pi=pi*4;printf("%lf\n",pi);return 0;}10.#include<stdio.h>int main(){int n,j;float s,t1,t2;scanf("%d",&n);s=0; t1=1.0; t2=2.0;for(j=1;j<=n;j++){s=s+t1*t2/((t2-t1)*(2*t2+t1));t2=t2*2;t1=-t1;}printf("%.6f\n",s);return 0;}11.#include <stdio.h>int main(){int cnt=0,sum=0,p=1,i,j;for(i=800;i>500;i--){for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){cnt++;sum+=p*i;p=-p;}}printf("%d %d\n",cnt,sum);return 0;}12.任何一个自然数的n的立方都等于n个连续奇数之和#include <stdio.h>int main(){int n,i,j,s,k=1,a[20];scanf("%d",&n);while(1){s=0;for(i=1,j=k;i<=n;i++,j+=2){s+=j;a[i]=j;}k+=2;if(s==n*n*n)break;}printf("%d*%d*%d=%d=%d",n,n,n,s,a[1]); for(i=2;i<=n;i++)printf("+%d",a[i]);printf("\n");return 0;}13.#include <stdio.h>int main(){int x,a,b=1,i; //b保存最后三位数scanf("%d%d",&x,&a);for(i=0;i<a;i++)b=b*x%1000; //取积的后三位printf("%d\n",b);return 0;}14.#include <stdio.h>int main(){int a[20]={1,1},i=2,s,s1; s=a[0]+a[1];while(1){a[i]=a[i-2]+2*a[i-1];s1=s;s+=a[i];if(s>100&&s1<100)printf("%d ",i);if(s>1000&&s1<1000)printf("%d ",i);if(s>10000&&s1<10000) {printf("%d ",i);break;}i++;}return 0;}15.#include <stdio.h>int main(){int n=4,m,k,count,j; while(1){count=0;m=n;for(k=0;k<5;k++){j=m/4*5+1;m=j;if(j%4==0) count++;elsebreak;}if(count==4){printf("%d %d\n",j,n);break;}n+=4;}return 0;}16.#include <stdio.h>#define MAX(x,y) ((x)>=(y)?(x):(y)) int main(){int n,a[20],max1,max,i,j,min; scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);max=a[0];for(i=0;i<n;i++){max1=min=a[i];for(j=i+1;j<n;j++){min*=a[j];if(max1*a[j]>max||min>a[j])max1=MAX(max1*a[j],min); }if(max1>max)max=max1;}if(max<=0)printf("-1\n");elseprintf("%d\n",max);return 0;}17.#include <stdio.h>int main(){int n,a,b,c;scanf("%d%d%d",&a,&b,&c);for(n=c+7;;n+=7)if(n%3==a&&n%5==b&&n>=10)break;if(n>100)printf("-1");elseprintf("%d\n",n);return 0;}18.#include <stdio.h>#include <math.h>int main(){int x,y,a,b,l,t=1;scanf("%d%d%d%d%d",&x,&y,&a,&b,&l); if(a==b)printf("impossible\n");else{while(1){if(fabs(a*t-b*t)+fabs(x-y)==l){printf("%d\n",t);break;}t++;}}}19.#include <stdio.h>int main(){int a,b,c,d,e,f,g,h,i,j,n;scanf("%d",&n);for(a=0;a<10;a++)for(b=0;b<10;b++)if(b!=a)for(c=0;c<10;c++)if(c!=a&&c!=b)for(d=0;d<10;d++)if(d!=a&&d!=b&&d!=c)for(e=0;e<10;e++)if(e!=a&&e!=b&&e!=c&&e!=d)for(f=0;f<10;f++)if(f!=a&&f!=b&&f!=c&&f!=d&&f!=e)for(g=0;g<10;g++)if(g!=a&&g!=b&&g!=c&&g!=d&&g!=e&&g!=f)for(h=0;h<10;h++)if(h!=a&&h!=b&&h!=c&&h!=d&&h!=e&&h!=f&&h!=g)for(i=0;i<10;i++)if(i!=a&&i!=b&&i!=c&&i!=d&&i!=e&&i!=f&&i!=g&&i!=h)for(j=0;j<10;j++)if(j!=a&&j!=b&&j!=c&&j!=d&&j!=e&&j!=f&&j!=g&&j!=h&&j!=i)if((a*10000+b*1000+c*100+d*10+e)%(f*10000+g*1000+h*100+i*10+j)==0&&(a*10000+b*10 00+c*100+d*10+e)/(f*10000+g*1000+h*100+i*10+j)==n)printf("%d%d%d%d%d/%d%d%d%d%d=%d\n",a,b,c,d,e,f,g,h,i,j,n);return 0;}20.#include <stdio.h>int main(){int a,b,count=1,i,flag1=0,flag2=0; double sum=0,c;scanf("%d%d",&a,&b);while(1){c=0;for(i=1;i<=count;i++)c+=1.0/i;sum+=1/c;if(sum>a&&flag1!=1){printf("%d ",count);flag1=1;}if(sum>b&&flag2==0) break; else if(sum>b){printf("%d",count-1);break;}flag2=1;count++;}printf("\n");return 0;}21.#include <stdio.h>int main(){int n,count=0,i=500,s,x;scanf("%d",&n);while(count<n){s=0;for(j=i*100-99;j<i*100;j+=2) {x=0;for(k=3;k*k<=j;k+=2)if(j%k==0){x=1;break;}s+=x;}if(s==50)count++;i++;}printf("%d %d\n",j-101,j-2); return 0;}22.#include <stdio.h>{int n,i,k;scanf("%d",&n); for(i=1;i<=n;i++) {if(i%7==0)printf("%d ",i); else{k=i;while(k){if(k%10==7){printf("%d ",i);break;}k/=10;}}}}23.#include <stdio.h> int main(){int a=1,b=0,t,i,c; scanf("%d",&t);for(i=0;i<t;i++) {a=b;b=3*c+2*b;}printf("%d %d",a,b);return 0;}24.#include <stdio.h>int main(){int a,b,c,d,e,f,g,h,i;for(a=1;a<4;a++)for(b=1;b<10;b++)if(b!=a){for(c=1;c<10;c++){if(c!=a&&c!=b){f=c*2%10;if(f!=a&&f!=b&&f!=c){e=(b*2+c*2/10)%10;if(e!=a&&e!=b&&e!=c&&e!=f){d=2*a+(b*2+c*2/10)/10;if(d!=a&&d!=b&&d!=c&&d!=f&&d!=e) {i=3*c%10;if(i!=a&&i!=b&&i!=c&&i!=f&&i!=e&&i!=d){h=(b*3+c*3/10)%10;if(h!=a&&h!=b&&h!=c&&h!=f&&h!=e&&h!=d&&h!=i&&h!=0) {g=3*a+(b*3+c*3/10)/10;if(g<10&&g!=a&&g!=b&&g!=c&&g!=f&&g!=e&&g!=d&&g!=i&&g!=h){printf("%d%d%d %d%d%d %d%d%d",a,b,c,d,e,f,g,h,i);printf("\n");}}}}}}}}}return 0;}25.#include <stdio.h>int main(){int n,m,i;double sum=0;scanf("%d%d",&n,&m);for(i=n;i<=m;i++)sum+=(1.0/i)*(1.0/i); //注意,i*i溢出printf("%.5lf\n",sum); return 0;}26.#include <stdio.h>int main(){int n,count=0,i,k; scanf("%d",&n);for(i=1;i<=n;i++) {k=i;while(k){if(k%10==1)count++;k/=10;}}printf("%d\n",count); return 0;}27.#include <stdio.h>int main(){int k,x,y;scanf("%d",&k);for(y=k+1;y<=2*k;y++){if(k*y%(y-k)==0){x=k*y/(y-k);printf("1/%d=1/%d+1/%d\n",k,x,y); }}return 0;}28.分数化小数#include <stdio.h>int main(){int a,b,c,i;scanf("%d%d%d",&a,&b,&c);printf("%d.",a/b);a=a%b;for(i=0;i<c-1;i++){a*=10;printf("%d",a/b);a%=b;a=a*10/b;if(a>=5)printf("%d\n",a+1);elseprintf("%d\n",a); return 0;}29.#include <stdio.h>#include <math.h>int main(){int m,n,i,flag,g=0,s=0,k; scanf("%d%d",&m,&n); i=(int)pow(10,n-1);n=i*10;for(;i<n;i++){k=i;flag=0;while(k){if(k%10==m){flag=1;break;}k/=10;}if(flag==1)if(i%m!=0){g++;s+=i;}}}printf("%d %d\n",g,s);return 0;}30.下面为数据加密的代码:#include <stdio.h>int fun(int n){return (n+5)%10;}int main(){int a,b[4],i=0;scanf("%d",&a);while(a){b[i]=fun(a%10);a/=10;i++;}a=b[0]*1000+b[1]*100+b[2]*10+b[3]; printf("%d\n",a);return 0;}31.#include <stdio.h>#include <math.h>int move(int value,int n){if(n==0) return value;else if(n<0){n=(int)fabs(n);value=(value<<n)|(value>>(32-n));}elsevalue=(value<<(32-n))|(value>>n); return value;}int main(){int a,n;scanf("%d%d",&a,&n);a=move(a,n);printf("%d",a);return 0;}32.#include <stdio.h>void fun(int n){if(n!=0){printf("%d",n%10);n/=10;fun(n);}}int main(){long a;scanf("%ld",&a);fun(a);printf("\n");return 0;}33.梯形法求积分#include <stdio.h>double f(double x){return 1.0/(1.0+x*x);}double jifen(double a,double b) {double h,s=0;;int i;h=(b-a)/5000000;for(i=1;i<5000000;i++){s+=(f(a)+f(a+h))*0.5*h; a+=h;}return s;}int main(){double a,b,s;scanf("%lf%lf",&a,&b);s=jifen(a,b);printf("%lf\n",s);return 0;}34.#include <stdio.h>int getbit(int n,int k){int count=0;while(1){count++;if(count==k)break;n/=2;}return n%2;}int main(){int n,k;scanf("%d%d",&n,&k);k=getbit(n,k);printf("%d\n",k);return 0;}35.#include <stdio.h>int fun(int n,int a[]){int k=0,b[6]={100,50,10,5,2,1},i,j; for(j=0;j<n;j++)for(i=0;i<6;i++){if(a[j]>=b[i]){k+=a[j]/b[i];a[j]%=b[i];}if(a[j]==0)break;}return k;}int main(){int n,a[100],sum=0,i;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);sum=fun(n,a);printf("%d\n",sum);return 0;}36.#include <stdio.h>inline int xchg(unsigned char n){char left=n<<4; //左移取高四位,低四位补0 char right=n>>4;return left+right;}int main(){int a;scanf("%d",&a);a=xchg((unsigned char)a);printf("%d\n",a);return 0;}37.#include <stdio.h>#include <stdlib.h>struct shu{double data;struct shu *next;};struct shu *creat(int n,double* sum){int i;struct shu* head=NULL;struct shu* p1=NULL,*p2=NULL;for(i=0;i<n;i++){p1=(struct shu *)malloc(sizeof(struct shu)); scanf("%lf",&p1->data);*sum+=p1->data;if(i==0) head=p1;else p2->next=p1;p2=p1;}p2->next=NULL;return (head);}int main(){int n;double sum=0,fc=0,aver=0;struct shu* head=NULL;scanf("%d",&n);head=creat(n,&sum);aver=sum/n;while(head!=NULL){fc+=(head->data-aver)*(head->data-aver); head=head->next;}printf("%lf\n",fc);return 0;}38.#include <stdio.h>int fun(int a){int b=0,i;for(i=1;i<=a/2;i++){if(a%i==0)b+=i;}return b;}int main(){int a,b;scanf("%d%d",&a,&b);if(fun(a)==b&&fun(b)==a)printf("YES\n");elseprintf("NO\n"); return 0;}39.#include <stdio.h> #include <math.h> int fceil(double a){ int b;if((int)a>=a) return (int)a; elsereturn (int)a+1; }int main(){double a;int b;scanf("%lf",&a); b=fceil(a);printf("%d\n",b); return 0;}40.#include <stdio.h>int main(){int a,b,n;scanf("%d",&n);while(n--){scanf("%d%d",&a,&b);a%=100,b%=100;printf("%d\n",(a+b)%100);}return 0;}41.#include <stdio.h>int main(){int a1,a2,a3,b1,b2,b3,a,b,c;scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&b1,&b2,&b3);c=(a3+b3)%60;b=(a2+b2+(a3+b3)/60)%60;a=a1+b1+((a3+b3)/60+a2+b2)/60; printf("%d %d %d\n",a,b,c); return 0;}42.#include <stdio.h>int ack(int m,int n){if(m==0) return n+1;else if(n==0) return ack(m-1,1); elsereturn ack(m-1,ack(m,n-1));}int main(){int m,n;scanf("%d%d",&m,&n);m=ack(m,n);printf("%d\n",m);return 0;}43.#include <stdio.h>#include <string.h>int n;int stringcompare(char S1[],char S2[]) {int i;if(strcmp(S1,S2)==0) n=0;elsefor(i=0;;i++){if(S1[i]!=S2[i]){n=S1[i]-S2[i];break;}}return(n);}int main(){char S1[81],S2[81];gets(S1);gets(S2);printf("%d\n",stringcompare(S1,S2));return 0;}44.#include <stdio.h>#include <string.h>#include <math.h>int gcd(int a,int b){if(a==0){return b;}else if(b==0){return a;}else{int i=a>b?b:a;while(a%i!=0||b%i!=0){i--;}return i;}}int main(){char A[1000];int a=0,b=0,i,m;gets(A);m=strlen(A);for(i=0;i<m;i++){if(A[i]=='S'){printf("WA\n");break;}if(A[i]=='U')a++;if(A[i]=='D')b++;}if(a+b!=m) return 0;else{if(fabs(((double)a)/m-0.5)>0.003) printf("Fail\n");elseprintf("%d/%d\n",a/gcd(a,m),m/gcd(a,m));return 0;}}45.#include <stdio.h>#include <string.h>int main(){char A[3][80];int n,m,i=0,j=0,k=0,a=0,b=0;for(n=0;n<3;n++){gets(A[n]);for(m=0;m<80&&A[n][m]!='\0';m++){if(A[n][m]=='\n') break;else if(A[n][m]>='A'&&A[n][m]<='Z') i++;else if(A[n][m]>='a'&&A[n][m]<='z') j++;else if(A[n][m]>='0'&&A[n][m]<='9') k++;else if(A[n][m]==' ') a++;else b++;}}printf("%d %d %d %d %d\n",i,j,k,a,b);return 0;}46.#include <stdio.h>#include <string.h>int main(){int i=0,j=0,k=0;char s[1000]={0},t[100][100]={0};gets(s);while(s[i]!=0){if(s[i]!=' '&&s[i]!=','&&s[i]!='.') t[k][j]=s[i],j++;else{k++;j=0;}i++;}for(i=k-1;i>=0;i--)printf("%s ",t[i]);printf("\n");return 0;}47.#include <stdio.h>#include <string.h>void Left(char str[],int n,char dest[]){int i;for(i=0;i<n;i++)dest[i]=str[i];}void Right(char str[],int n,char dest[]){int i,m,j=0;m=strlen(str);for(i=m-n;i<=m;i++){dest[j]=str[i];j++;}}void Mid(char str[],int loc,int n,char dest[]) {int i,j=0;for(i=loc;i<loc+n;i++){dest[j]=str[i];j++;}}int main(){int n,i,loc;char str[81],dest[81];gets(str);scanf("%d %d",&n,&loc);Left(str,n,dest);for(i=0;i<n;i++)printf("%c",dest[i]);printf("\n");Right(str,n,dest);puts(dest);Mid(str,loc,n,dest);puts(dest);return 0;}48.#include <stdio.h>#include <string.h>int main(){int i,j,n;char A[81],t;gets(A);n=strlen(A);if(n%2==0){for(j=0;j<n/2-1;j++)for(i=0;i<n/2-1-j;i++)if(A[i]<A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(j=0;j<n/2-1;j++)for(i=n/2;i<n-1-j;i++)if(A[i]>A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(i=n/2;i<n;i++)printf("%c",A[i]);for(i=0;i<n/2;i++)printf("%c",A[i]);printf("\n");}else{for(j=0;j<(n-1)/2-1;j++)for(i=0;i<(n-1)/2-1-j;i++)if(A[i]<A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(j=0;j<(n-1)/2-1;j++)for(i=(n+1)/2;i<n-1-j;i++)if(A[i]>A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(i=(n+1)/2;i<n;i++)printf("%c",A[i]);printf("%c",A[(n+1)/2-1]);for(i=0;i<(n+1)/2-1;i++)printf("%c",A[i]);printf("\n");}return 0;}49.#include <stdio.h>int main(){char A[10000],B[10000];int i,j=0,t;gets(A);while(A[j]!='='){B[j]=A[j];j++;}t=j-1;for(i=0;i<=t;i++){A[i]=B[j-1];j--;}for(i=0;i<=t;i++)printf("%c",A[i]);printf("\n");return 0;}50.#include <stdio.h>int main (){int test_case = 0;char note[1000];while (gets( note ) != NULL){test_case ++;if (note[0] == 'A' && note[1] == ' '){printf( "UNIQUE\n");break;}else if (note[0] == 'A' && note[1] == '#'){note[0] = 'B';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'B' && note[1] == 'b') {note[0] = 'A';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'B' && note[1] == ' ') {printf( "UNIQUE\n");break;} else if (note[0] == 'C' && note[1] == ' ') {printf( "UNIQUE\n");break;} else if (note[0] == 'C' && note[1] == '#') {note[0] = 'D';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'D' && note[1] == 'b') {note[0] = 'C';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'D' && note[1] == ' ') {printf("UNIQUE\n");break;} else if (note[0] == 'D' && note[1] == '#') {note[0] = 'E';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'E' && note[1] =='b') {note[0] = 'D';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'E' && note[1] == ' ') {printf("UNIQUE\n");break;} else if (note[0] == 'F' && note[1] == ' ') {printf("UNIQUE\n");break;} else if (note[0] == 'F' && note[1] == '#'){note[0] = 'G';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'G' && note[1] == 'b'){note[0] = 'F';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'G' && note[1] == ' '){printf("UNIQUE\n");break;}else if (note[0] == 'G' && note[1] == '#'){note[0] = 'A';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'A' && note[1] == 'b'){note[0] = 'G';note[1] = '#';printf("%s\n",note);break;}else {printf("false");break;}}return 0;}51.#include <stdio.h>#include <string.h>int main(){char A[100],B[100];int i,m,n,j=0;gets(A);n=strlen(A);scanf("%d",&m);for(i=m;i<n;i++){B[j]=A[i];j++;}for(i=0;i<j;i++)printf("%c",B[i]);printf("\n");return 0;}52.#include <stdio.h>int main(){char C[100],*p=C;int A[50],*q=A,num=0,i;gets(C);for(;*p!='\0';p++)if(*p>='0'&&*p<='9'){*q=(*p)-'0';p++;while(*p>='0'&&*p<='9')*q=(*q)*10+(*(p++)-'0');num+=1;q+=1;}printf("%d\n",num);for(i=0,q=A;i<num;i++,q++)printf("%d ",*q);printf("\n");return 0;}53.#include<stdio.h>int minsum(int a,int b){int i,h=1,k;k=(a>b)?b:a;for(i=2;i<=k;i++){if(a%i==0&&b%i==0) h=i;}return h;}int main(){int a,b,c,d,min,y,z;char e,f,g;scanf("%d%c%d%c%d%c%d",&a,&e,&b,&f,&c,&g,&d);if(f=='+'){y=a*d+b*c;z=b*d;if(y%z==0) printf("%d\n",y/z);//注意相加后可能结果为整数,这时不能以分数形式输出else{min=minsum(y,z);printf("%d/%d\n",y/min,z/min);}}else{y=a*d-b*c;z=b*d;if(y==0) printf("%d\n",y);else{if(y<0) y=-y;//注意相减后结果可能是0,此时应该直接输出if(y%z==0) printf("%d\n",y/z);//注意相减后可能结果为整数,这时不能以分数形式输出else{min=minsum(y,z);printf("-");printf("%d/%d\n",y/min,z/min);}}}return 0;}54.#include <stdio.h>int main(){int n,a[10][10],i,j;scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d", &a[i][j]); for(i=0;i<n;i++){for(j=0;j<n-i;j++)printf("%d ",a[i][j]);printf("\n");}return 0;}55.。
理论力学_西北工业大学中国大学mooc课后章节答案期末考试题库2023年

理论力学_西北工业大学中国大学mooc课后章节答案期末考试题库2023年1.SQL Server提供了3种数据库还原模型,它们是()。
答案:简单还原、完整还原、大容量日志还原2.已知两个关系:职工(职工号,职工名,性别,职务,工资)设备(设备号,职工号,设备名,数量)其中“职工号”和“设备号”分别为职工关系和设备关系的关键字,则两个关系的属性中,存在一个外部关键字为()。
答案:设备关系的“职工号”3.学生成绩表grade中有字段score,float类型,现在要把所有在55至60分之间的分数提高5分,以下SQL语句正确的是()。
答案:UPDATE grade SET score=score+5 WHERE score BETWEEN 55 AND 604.在为students数据库的student_info表录入数据时,常常需要一遍又一遍地输入“男”到学生“性别”列,以下()方法可以解决这个问题。
答案:创建一个DEFAULT约束(或默认值)5.设A、B两个数据表的记录数分别为3和5,对两个表执行交叉联接查询,查询结果中最多可获得()条记录。
答案:156.为了从数据源向数据集填充数据,应该调用()。
答案:DataAdapter.Fill方法7.在如下2个数据库的表中,若雇员信息表EMP的主键是雇员号,部门信息表DEPT的主键是部门号,部门号为EMP表的外键。
若执行所列出的操作,()操作要求能执行成功。
答案:从雇员信息表EMP中删除行('010','王宏达','01','1200')在雇员信息表EMP中插入行('102','赵敏','01','1500')将雇员信息表EMP中雇员号='010'的工资改为1600元8.假设有关系R和S,在下列的关系运算中,()运算要求:“R和S具有相同的元数,且它们的对应属性的数据类型也相同”。
西工大高频课后习题部分答案

解:( 1 )Tr1为不平衡--平衡变换器,Tr6为反相功率分配器,Tr2、Tr3为9:1 阻抗变换器, Tr7 为反相功率合成器, Tr4 为平衡—不平衡变换器, Tr5为 l : 4 1-23 图P1 — 23所示为工作在( 2~30 )MHz频段上、输出功率为 阻抗变化器 。 50w的反相功率合成电路,试指出各传输线变压器功能及 ( 2 ) Trl 输出端呈现的电阻为50Ω ,经 9:1阻抗变化器后的电阻为 —Tr3 传输线变压器的特性阻抗,并估算功率晶体管输入阻 50Tr1 Ω/9=5.6 Ω,因此晶体管 T1、T2 的输入电阻均为2.8Ω。 Ll、L2的作用不予考虑。 ( 抗和集电极等效负载阻抗。图中, 3 )输出负载为50Ω。经Tr4和Tr5变换后的电阻为 50Ω/4 =12.5Ω因此,T1、 T2管的输出负载电阻均为6.25Ω。 ( 4 ) Tr1~ Tr5的特性阻抗:Zc1=50Ω,Zc4=12.5Ω, Zc5=25 Ω Zc2=Zc3=1/3Ri=1/3*50Ω=16.7Ω。
I
.
2014-11-8
19
3-5 试判断图 NP3-5 所示交流通路中,哪些可能产生振荡,哪
些不能产生振荡:若能产生振荡,则说明属于哪种振荡电路。
解:(a)不振。同名端 接反,不满足正反馈;
( b )能振。变压器耦合反馈振荡器;
2014-11-8
20
(C)不振。不满足三点式振荡 电路的组成法则;
2014-11-8
15
2-14 根据图( a )所示的谐振功率放大器原理电路,按下列要 求画出它的实用电路。( l )两级放大器共用一个电源; ( 2 ) T2管的集电极采用并馈电路,基极采用自给偏置电路; ( 3 ) T1 管的集电极采用串馈电路,基极采用分压式偏置电路。
西工大中特考试答案华丽版

中国特色社会主义是什么?“特”是什么?中国特色社会主义,就是在中国共产党领导下,立足基本国情,以经济建设为中心,坚持四项基本原则,坚持改革开放,解放和发展社会生产力,建设社会主义市场经济、社会主义民主政治、社会主义先进文化、社会主义和谐社会、社会主义生态文明,促进人的全面发展,逐步实现全体人民共同富裕,建设富强民主文明和谐的社会主义现代化国家。
作为一种社会制度,中国特色社会主义既有别于传统计划经济和苏联模式的社会主义,也不同于民主社会主义和其他改良社会主义。
从经济上看,社会主义生产关系的基础是生产资料公有制。
在邓小平同志看来,公有制为主体、按劳分配、共同富裕,就是科学社会主义根本原则的体现。
经过一段时间的探索和改革,根据我国生产力水平较低且不平衡、多层次的特点,逐渐形成了生产资料公有制为主体、多种经济成分共同发展,按劳分配与按生产要素分配相结合的这个社会主义初级阶段的基本经济制度。
在这个制度基础上,用市场经济的方式配置资源、组织生产,从而不断满足人民群众日益增长的物质文化生活需要,就是“中国特色”。
从政治上看,社会主义是人民当家作主的社会。
人民代表大会的根本政治制度,党的领导、人民当家作主和依法治国在我国是有机统一的。
就政党制度而言,既不是前苏联的“一党制”,也不是西方的多党制,而是共产党领导的多党合作政治协商制度。
此外,根据我国的具体情况,在相关特殊地区实行民族区域自治制度。
这些内容,都体现既坚持了科学社会主义的基本原则,又根据我国实际赋予其鲜明的中国特色。
在文化上,努力建设社会主义核心价值体系,奉行集体主义价值观。
既坚持马克思主义的指导思想,又继承传统,面向世界、面向现代化、面向未来,包容多样,注重保障人民群众的文化权益。
此外,用“和平统一、一国两制”的政策争取实现国家完全统一的构想和实践,进一步丰富了我国社会主义探索和发展的内涵。
这些“特色”,是中国特色社会主义道路得以越走越宽的生命力源泉。
西工大马克思主义基本原理概论题库

绪论马克思主义是关于无产阶级和人类解放的科学一、单项选择题1 .马克思主义理论从狭义上说是()A .无产阶级争取自身解放和整个人类解放的学说体系B .关于无产阶级斗争的性质、目的和解放条件的学说C .马克思和恩格斯创立的基本理论、基本观点和基本方法构成的科学体系D .关于资本主义转化为社会主义以及社会主义和共产主义发展的普遍规律的学说2 .马克思主义理论从广义上说是()A .不仅指马克思恩格斯创立的基本理论、基本观点和学说的体系,也包括继承者对它的发展B .无产阶级争取自身解放和整个人类解放的学说体系C .关于无产阶级斗争的性质、目的和解放条件的学说D 马克思和恩格斯创立的基本理论、基本观点和基本方法构成的科学体系3 .作为中国共产党和社会主义事业指导思想的马克思主义是指()A .不仅指马克思恩格斯创立的基本理论、基本观点和学说的体系,也包括继承者对它的发展B .无产阶级争取自身解放和整个人类解放的学说体系C .关于无产阶级斗争的性质、目的和解放条件的学说D .列宁创立的基本理论、基本观点和基本方法构成的科学体系4 .人类进人21 世纪,英国广播公司(BBs )在全球范围内进行“千年思想家”网评,名列榜首的是()A .马克思B .爱因斯坦C .达尔文D .牛顿5 .在19 世纪三大工人运动中,集中反映工人政治要求的是()A .法国里昂工人起义B英国宪章运动 C 芝加哥工人起义D德国西里西亚纺织工人起义6 .马克思主义产生的经济根源是()A .工业革命B .资本主义经济危机C .资本主义社会生产力和生产关系的矛盾运动D .阶级斗争7 .马克思主义产生的阶级基础和实践基础()A .资本主义的剥削和压迫B .无产阶级作为一支独立的政治力量登上了历史舞台C 工人罢工和起义D 工人运动得到了“农民的合唱”8 .提出价值规律是“一只看不见的手”是()A .马克思B .亚当·斯密C .大卫·李嘉图D .威廉·配第9 .马克思恩格斯进一步发展和完善了英国古典经济学理论是()A .辩证法B .历史观C .劳动价值论D .剩余价值论10 .马克思把黑格尔的辩证法称为()A .合理内核B .基本内核C .精髓D .核心11.被马克思恩格斯称为“有史以来最伟大的讽刺家”的是()A .费尔巴哈B .傅立叶C .欧文D .圣西门12 .在第一次世界大战中成为东西方矛盾焦点和帝国主义政治体系最薄弱环节的国家是()A .德国B .奥地利C .中国D .俄国13 . “哲学把无产阶级当作自己的物质武器,同样,无产阶级把哲学当作自己的精神武器”,这个论断的含义是A 马克思主义是无产阶级的世界观和方法论B 哲学的存在方式是物质C 无产阶级的存在方式是精神D 无产阶级掌握哲学就由自为阶级转变为自在阶级14 .马克思主义生命力的根源在于()A .以实践为基础的科学性与革命性的统一B .与时俱进C .科学性与阶级性的统一D .科学性15.无产阶级的科学世界观和方法论是()A .辩证唯物主义B .历史唯物主义C .辩证唯物主义和历史唯物主义D .唯物主义16 .马克思主义理论最根本的本质属性是()A .科学性B .革命性C .实践性D .与时俱进17 .马克思主义最重要的理论品质是()A .吐故纳新B .科学严谨C .博大精深D .与时俱进18 .马克思主义最崇高的社会理想()A .实现共产主义B .消灭阶级、消灭国家C .实现个人的绝对自由D .实现人权19 .学习马克思主义基本原理的根本方法()A .认真学习马克思主义的著作B .一切从实际出发C .理论联系实际D .实事求是〔单项答案] 1 . C 2 . A 3 . A 4 . A 5 . B 6 . C 7 . B 8 . B 9 . C 10 . A 1 1 . B 12 . D13 . A 14 . A 15 . C 16 . A 17 . D 18 . A 19 . C二、多项选择题1 .马克思主义诞生于19 世纪40 年代,到那时,资本主义的发展已经经历过()A . 14 世纪末至巧世纪初,资本主义生产关系在西欧封建社会内部孕育B . 18 世纪60 年代至19 世纪30 年代末,资本主义工业革命推动资本主义社会生产力发展C .多次经济危机,给资本主义世界造成极大破坏D .垄断资本主义2 .作为一个完整的科学体系,马克思主义理论体系的三个主要组成部分是( )A .马克思主义政治学B .马克思主义政治经济学C .科学社会主义D .马克思主义哲学3 .作为马克思主义产生阶级基础的19 世纪三大工人起义是()A巴黎公社 B 1831 年和1834 法国里昂工人两次起义C1838 年在英国爆发的延续十余年的宪章运动D1844 年德国西里西亚纺织工人起义4 .马克思主义产生的直接理论渊源是()A .德国古典哲学B .英国古典政治经济学C .法国英国的空想社会主义D .法国启蒙思想5 .德国古典哲学的代表性人物()A .康德B .黑格尔C .费尔巴哈D .笛卡尔6 .资产阶级古典政治经济学的代表人物()A .亚当·斯密B .大卫·李嘉图C .马尔萨斯D .西斯蒙7 .空想社会主义的最杰出的代表是()A .昂利·圣西门B .沙尔·傅立叶C .罗伯特·欧文D .托马斯·莫尔8 .马克思恩格斯最重要的理论贡献是()A .辩证法B .劳动价值论C .唯物史观D .剩余价值学说9 .导致第一次世界大战爆发的原因有()A .资本主义世界生产力生产关系矛盾的激化B .争夺和瓜分世界殖民地的矛盾激化C .资本主义各国之间政治经济发展不平衡D .奥地利皇太子菲迪南大公在南斯拉夫遇刺身亡10 .马克思主义科学性与革命性可以概括为()A .辩证唯物主义和历史唯物主义是马克思主义最根本的世界观和方法论B .致力于实现最广大人民的根本利益是马克思主义最鲜明的政治立场C .一切从实际出发,理论联系实际,实事求是,在实践中检验真理和发展真理是马克思主义最重要理论品质D .实现共产主义是马克思主义最崇高的社会理想11 .马克思主义的根本特性是()A .阶级性B .实践性C .客观性D .人民性12 .马克思主义中国化的三大理论成果是()A .李大钊的理论B .毛泽东思想C .邓小平理论D . “三个代表”重要思想15.学习马克思主义理论,必须要分清()A .哪些是必须长期坚持的马克思主义基本原理B .哪些是需要结合新的实际加以丰富发展的理论判断C .哪些是必须破除的对马克思主义错误的、教条式的理解D .哪些是必须澄清的附加在马克思主义名下的错误观点【多项选择题答案〕 1 . ABC 2 . BCD 3 . BCD 4 . ABC 5 . BC 6 . AB 7 . ABC 8 . CD 9 . ABCD10 . ABCD 11 . AB 12 . BCD 15 . ABCD三、辨析题1 .有一种观点认为,阶级性与科学性是不相容的,凡是代表某个阶级利益和愿望的社会理论,就不可能是科学的。
西工大noj标准答案版.doc

西北工业大学 POJ答案绝对是史上最全版(不止100哦⋯⋯按首字母排序)1.“ 1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.HanoiⅡ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL 大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是 A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算 A+B68.计算 PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字” 7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“ 1“的传奇#include <>#include <>#include <>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0;scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10); elses=s+z*k*(x/10); for(j=p;j<=n;j++) {m=j;for(i=1;i<12;i++){x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <>int doubi(int n,int m) {n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m; scanf("%d",&t);for (i=0;i<=(t-1);i++){scanf("%d%d",&n,&m);a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]); return 0;}3.A+BⅡ#include <>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <>#include <>#include <>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++)n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <>#include <>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1));return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions #include <>#include <>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0;return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0) break;d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <>#include <>int main()int A[100],i=0,j,k,female=0,male=1,x;for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm #include <>#include <>#include <>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <>#include <>int main(){char A[100000];int n,i=0,a=0,b=0,j;double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*(a+b)*;if>||<printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help #include <>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1; }int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){ printf("%d\n",b[j]); }return 0;}11.Double#include <>#include <>int main(){int a[100],b[100],i,j,n,t=0;for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <>#include <>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++;}printf("%d",j/2);return 0;}13.Favorite number #include <>#include <>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM]; int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) {is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) {dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break;k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) {dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)){ d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <>#include <>#include <>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("\n");continue;};t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s);}return 0;}15.Hailstone#include <>#include <>#include <>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++;else n=3*n+1,s++;}}int main(){int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.HanoiⅡ#include <>#include <>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina) {if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina);return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));}int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c]; ans=f(start,c-1,other)+f(targe,c-1,other)+1;printf("%lld\n",ans);}return 0;}17.Houseboat#include <>#include <>#include <>#define piint f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <>#include <>#include <>int main(){inta[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0;while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]);c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <>#include <>#include <>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <>#include <>#include <>int main(){int i,j,sum,min,c,count,n,a,b; char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)) {min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min); return 0;}22.Specialized Numbers#include <>#include <>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <>#include <>#include <>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b) {return *(int *)a < *(int *)b 1 : -1;}bool dfs(int nowlen, int nowget, int cnt) {if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen){b[i] = true;if(dfs(0, nowget+1, nowget))return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1))return true;b[i] = false;if(f) return false;while(i+ 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp); for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue;memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <>#include <>#include <>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b1:-1;}int dfs(int nowlen,int nowget,int cnt){if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp);for(minlen=len[0];;minlen++){if(tollen%minlen) continue;memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <>#include <>#include <>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0;while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <>#include <>#include <>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1]))strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a) ;if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]);}return 0;}27.The Ratio of gainers to losers #include<>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break; case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <>#include <>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <>#include <>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <>#include <>int main(){int A[100][100],i,j,m,n,s=0,t=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);}。
西工大19春《土木工程概论》在线作业答案

西工大19春《土木工程概论》在线作业答案西工大19春《土木工程概论》在线作业答案一、单选题1.中国的北京故宫属于()。
A: 钢结构B: 砖石结构C: 木结构D: 钢筋混凝土结构正确答案: C2.砖、瓦、砂、石、灰属于()。
A: 地方材料B: 结构材料C: 功能材料D: 工程材料正确答案: A3.民用单层建筑一般采用的结构是()。
A: 砖混结构B: 排架结构C: 刚架结构D: 框架结构正确答案: A4.桥梁总体规划要满足()的原则。
A: 安全、实用、大方、美观B: 经济、实用、耐久、安全C: 安全、经济、适用、美观D: 耐久、美观、可靠、适用正确答案: C5.不属于土木工程类型的是()。
A: 装修工程B: 桥梁工程C: 隧道工程D: 铁路工程正确答案: A6.某计算机学院教学实验楼高9 层,则该楼结构属于()。
A: 超高层建筑B: 高层建筑C: 高耸建筑D: 多层建筑正确答案: D7.关于事物的基本原理和事实的有组织有系统的知识是()。
A: 技术B: 科学C: 实践D: 技能正确答案: B8.公路、铁路路基于房屋基础的不停点没有()。
A: 承载力B: 受力形式C: 路基构造D: 建筑材料正确答案: D9.工程地质、基础工程、地基处理都是()专业知识的重要组成部分。
A: 土木工程B: 工程管理C: 混凝土工程D: 地质勘察正确答案: A10.我国桥梁设计采用()设计法。
A: 全过程设计法B: 两阶段设计法C: 三阶段设计法D: 规范设计法正确答案: B11.隧道工程是交通运输穿越天然屏障的有效方法,它比地下建筑工程的作业面要()。
A: 大B: 小C: 宽D: 窄正确答案: D12.()的物质成果是房屋建筑和各种工程构筑物;它们都是社会总产品的组成部分。
A: 房地产开发B: 建筑业C: 基础建设D: 配套工程正确答案: B13.工程中应用最广的水泥是()。
A: 硅酸盐水泥B: 铝酸盐水泥C: 硫酸盐水泥D: 磷酸盐水泥正确答案: A14.将自然科学的原理应用到工农业生产部门中去而形成的各学科的总称是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0;scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10); elses=s+z*k*(x/10);for(j=p;j<=n;j++) {m=j;for(i=1;i<12;i++){x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m){n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){scanf("%d%d",&n,&m);a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]);return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++)n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1));return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0;return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0) break;d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x;for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j;double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>int main(){int a[100],b[100],i,j,n,t=0;for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++;}printf("%d",j/2);return 0;}13.Favorite number #include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM]; int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) {is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) { dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break;k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) {dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;};t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s);}return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++;else n=3*n+1,s++;}}int main()int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina){if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina); return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1;printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0;while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]);c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b;char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)){min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min);return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen){b[i] = true;if(dfs(0, nowget+1, nowget))return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1))return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp);for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue;memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt) {if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp);for(minlen=len[0];;minlen++){if(tollen%minlen) continue;memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0;while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1])) strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a);if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]);}return 0;}27.The Ratio of gainers to losers #include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break; case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);}}for(i=2;i<m;i++)s=s+A[1][i];for(i=2;i<m;i++)。