西工大POJ100题(全新)
西工大机械原理试题及答案xx

西工大机械原理试题及答案xx1、对心曲柄滑块机构都具有急回特性。
( )2、渐开线直齿圆柱齿轮的分度圆与节圆相等。
( )3、当两直齿圆柱齿轮的安装中心距大于标准中心距时,为保证无侧隙啮合,应采用正传动。
( )4、凸轮机构中当从动件的速度有有限量突变时,存在柔性冲击。
( )5、用飞轮调节周期性速度波动时,可将机械的速度波动调为零。
( )6、动平衡的转子一定满足静平衡条件。
( )7、斜齿圆柱齿轮的法面压力角大于端面压力角。
( )8、加工负变位齿轮时,齿条刀具的分度线应向远离轮坯的方向移动。
( )9、在链四杆机构中,固定最短杆的邻边可得曲柄摇杆机构。
( )10、平底直动从动件盘状凸轮机构的压力角为常数。
( )1、机构具有确定运动的条件为。
2、平面八杆机构共有瞬心。
3、渐开线齿廓上最大压力角在圆上。
4、当行程速比系数K=1.5时,机构的极位夹角q=。
5、举出两种可实现间歇运动的机构。
6、偏置滚子(尖顶)直动从动件盘状凸轮机构的压力角表达式tga=。
7、渐开线齿轮的齿廓形状与哪些参数有关?。
8、机械中安装飞轮的目的是。
9、直齿圆锥齿轮的当量齿数Zv=。
10、在连杆机构中处于死点位置的g=;a=。
1、为了实现定传动比传动,对齿轮轮廓曲线有什么要求?2、计算机构自由度时有哪些考前须知?3、计算混合轮系传动比有哪些步骤?4、链四杆机构中存在双曲柄的条件是什么?5、机构等效动力学模型中的四个等效量有哪些?分别是根据何种原理求得?一、1.×;2.×;3.√;4.×;5.×;6.√;7.×;8.×;9.×;10.√。
二、1、机构的自由度数=机构的原动件数。
2、28。
3、齿顶。
4、。
5、槽轮机构、棘轮机构。
6、tga=。
7、m、Z、a。
8、调节周期性速度波动。
9、。
10、三、1、齿廓在任意位置接触时,其啮合点的法线与中心线的交点必为一定点。
2、复合链,部分自由度,虚约束。
西工大C语言POJ习题答案讲解

int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
a=b;
if(a<c)
a=c;
printf("%d\n",a);
return 0;
}
5.
#include<stdio.h>
int main()
{
int i=0,j=0,k=1;
char a[6];
e=29;
else
e=28;
switch (b)
{
case 1:n=c;break;
case 2:n=g+c;break;
case 3:n=g+e+c;break;
case 4:n=g+e+g+c;break;
case 5:n=g+e+g+f+c;break;
case 6:n=g+e+g+f+g+c;break;
b=(a-2)*1.5+7;
else b=7;
}
printf("%lf\n",b);
return 0;
}
8.
#include <stdio.h>
int main()
{
int a,b,c,e,f=30,g=31,n;
scanf("%d-%d-%d",&a,&b,&c);
if((a%400==0)||(a%100!=0&&a%4==0))
return 0;
西工大新版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.。
西北工业大学飞行器稳定性与操纵性考试试题

西北工业大学飞行器稳定性与操纵性考试试题编号:西北工业大学考试试题(卷)开课学院航空学院课程飞行器稳定性与操纵性学时36考试日期考试时间 2 小时考试形式()()卷注:1. 命题纸上一般不留答题位置,试题请用小四、宋体打印且不出框。
2. 命题教师和审题教师姓名应在试卷存档时填写。
共2页第1页西北工业大学命题专用纸共2页第2页西北工业大学考试试题答案及评分标准开课学院航空学院课程飞行器稳定性与操纵性学时36考试日期考试时间 2 小时考试形式()()一、名词解释(6×5)1、纵向平衡曲线纵向定常直线飞行中,俯仰力矩平衡时,升降舵(平尾)偏角与飞行速度或迎角之间的关系曲线2、上反效应定常侧滑直线飞行中,上反角的横向静稳定性作用3、副翼操纵反效刚度小的机翼,在动压大的情况下,偏转副翼引起的附加气动载荷作用在机翼刚性轴之后,引起机翼的扭转变形,削弱了副翼滚转操纵的效果。
随着动压的增加,相同副翼偏角引起的机翼扭转变形增大,副翼的操纵效率更低。
当动压达到某一临界动压值时,副翼的操纵效率为零。
随着动压进一步增大,左压杆却出现右滚力矩,副翼操纵反效4、模态扰动运动特征方程的每一个实根或每一对共轭复根描述的运动5、机翼自转当飞机大于失速迎角飞行时,右滚转时,虽然右机翼的迎角大于左机翼的迎角,但是由于失速,胜利反而小于左翼,此时的横向力矩将加速飞机的滚转二、问答(10,9,10,8,6,7)评分视具体答题情况而定1、平尾对正常式布局飞机(平尾在机翼之后)俯仰力矩的三个作用是什么?答:(1)改变飞机的零升力矩系数大小,甚至使它由负值变为正值(2)偏转平尾(升降舵),是飞机在不同迎角下取得俯仰力矩的平衡(3)改变俯仰力矩曲线的斜率,通过使飞机焦点后移来使飞机具有纵向静稳定性2、飞机设计时决定重心后限位置的因素有哪些?答:(1)为使飞机具有纵向静稳定性,重心必须在飞机焦点之前(2)为使飞机具有纵向松杆静稳定性,重心必须在松杆中性点之前(3)定常曲线飞行时,为使,重心必须在握杆机动点之前(4)定常曲线飞行时,为使,重心必须在松杆机动点之前3、推导飞机小扰动运动方程组所采用了哪些简化假设?答:(1)关于地球的假设,地球是静止不动的平面(2)关于飞机的假设,飞机是刚体,且质量为常数(3)大气为平静的标准大气(4)所选坐标系为原点与质心重合的机体坐标系(5)飞机质量分布对称(6)小扰动假设(7)飞机具有对称面,质量和外形都对称(8)基准运动中,飞机的运动平面、对称面、铅垂面合一(9)基准运动为定直飞行(10)准定常假设4、什么是气流坐标轴系?什么是惯用的机体坐标轴系?答:气流坐标轴系:原点在飞机质心,轴沿飞机速度方向,轴在飞机对称面上垂直于轴指向下方,轴垂直于、,指向右方惯用的机体坐标轴系:原点在飞机质心,轴平行于机身轴线或对称面机翼弦线,指向前方,轴垂直对称面,指向右翼,轴在飞机对称面内,垂直于轴指向下方,且与、形成右手坐标系统5、横侧扰动运动有哪些典型模态?其特点是什么?答:(1)对应模值大实根的滚转收敛模态,特点是衰减快、滚转比偏航和侧滑大得多的非周期运动(2)对应模值小实根的螺旋模态,特点是半衰时长、带滚转、接近零侧滑的偏航非周期运动(3)对应复根的荷兰滚模态,特点是中等阻尼、频率较快、既滚转又偏航带侧滑的周期性运动6、飞机纵向静稳定性导数是什么?它的变化对飞机纵向动稳定性及操纵性的影响是什么?答:飞机纵向静稳定性导数是或。
最新西工大物理性能复习题答案_PPT课件PPT课件

对显示波性的微观粒子,如果要愈加精确地测量某一个 量,另一个量就愈加测不准。
不是测量仪器不够准确
15、是否可以将p,x同时测准?为什么?
15、答
根据 Δx·Δp≥h 测不准关系
Δx位置测准 Δp动量测准
Δp≥h/Δx→∞ Δx≥h/Δp→∞
a: 固溶强化强度不够高;电阻率增加;Al价格昂贵,不宜用于高 压输电线 b: 铝合金第二相强化、加工硬化等
14
复习题 第一章-答案
3、微观粒子具有波性,它表示的物理意义是什么? 3、答:
以电子为例:电子是微观粒子,具有波性。这种电子波是一
种具有统计规律的几率波。
几率波它决定了电子在空间某个位置出现的几率。 空间位置坐标(x,y,z),波函数为Φ(x,y,z,t),t表示在t时 刻,电子在空间(x,y,z)出现的几率。
函数写为Φ(x,y,z,t)或Φ(r,t)
4、请对经典自由电子学说,量子电子理论及能带理论进行比较。 4、答:
15
E 1 m v2 2
3 kT 2
P 1V 1 P 2V 2
E总
3 5
NE
大
E
3 5
E大
Z (E ) E
16
5、解释费密分布函数图的物理意义。 5、答:
f (E)
1
expEkTEF
37
7. 答:铁磁性材料被磁化后,内部形成于外磁场方向相反 的磁场Hd。退磁场与磁化强度M成正比;退磁因子与铁 磁体的形状有关。闭合环形试样无退磁场,最易磁化
8. 答:铁磁性物质内部存在很强的“分子场”,在此作用 下,原子磁矩。。。P303
西工大C语言POJ习题答案

一.1.第一季10题全(注:第五题问题已经解决,确认AC!)#include<stdio.h>int main(){int a,b,sum;scanf("%d%d",&a,&b);sum=a+b;printf("%d\n",sum);return0;}2.#include<stdio.h>#define PI3.1415926int main(){double r,h,l,s,sq,vq,vz;scanf("%lf%lf",&r,&h);l=2*PI*r;s=PI*r*r;sq=4*PI*r*r;vq=4*PI*r*r*r/3;vz=s*h;printf("%.2lf\n%.2lf\n%.2lf\n%.2lf\n%.2lf\n",l,s, sq,vq,vz);return0; }3.#include<stdio.h>int main(){int a,b,c;double d,e;scanf("%d%d%d",&a,&b,&c); d=a+b+c;e=d/3;printf("%lf\n%lf\n",d,e); return0;}4.#include<stdio.h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c); if(a<b)a=b;if(a<c)a=c;printf("%d\n",a);return0;}5.#include<stdio.h>int main(){int i=0,j=0,k=1;char a[6];while((a[i]=getchar())!='\n') {i++;}for(;i>0;i--){if(a[j]==a[i-1]){j++;continue;}else{k=0;break;}}if(k==1)printf("yes\n"); elseprintf("no\n"); }6.#include<stdio.h>int main(){double a,c;scanf("%lf",&a);switch((int)a/10){case0:c=a*0.1;break;case1:c=(a-10)*0.075+10*0.1;break;case2:case3:c=(a-20)*0.05+10*0.075+10*0.1;b reak;case4:case5:c=(a-40)*0.03+20*0.05+10*0.075 +10*0.1;break;case6:case7:case8:case9:c=(a-60)*0.015+20*0.03+20*0.05 +10*0.075+10*0.1;break;default:c=(a-100)*0.01+40*0.015+20 *0.03+20*0.05+10*0.075+10*0.1;}printf("%lf\n",c);return0;}7.#include<stdio.h>int main(){double a,b,c;scanf("%lf",&a);c=(int)a;if(a>c)a=c+1;if(a>15)b=(a-15)*2.1+7+13*1.5;else{if(a>2)b=(a-2)*1.5+7;else b=7;}printf("%lf\n",b);return0; }8.#include<stdio.h>int main(){int a,b,c,e,f=30,g=31,n;scanf("%d-%d-%d",&a,&b,&c);if((a%400==0)||(a%100!=0&&a%4==0)) e=29;elsee=28;switch(b){case1:n=c;break;case2:n=g+c;break;case3:n=g+e+c;break;case4:n=g+e+g+c;break;case5:n=g+e+g+f+c;break;case6:n=g+e+g+f+g+c;break;case7:n=g+e+g+f+g+f+c;break;case8:n=g+e+g+f+g+f+g+c;break;case9:n=g+e+g+f+g+f+g+g+c;break; case10:n=g+e+g+f+g+f+g+g+f+c;break; case11:n=g+e+g+f+g+f+g+g+f+g+c;bre ak;default:n=g+e+g+f+g+f+g+g+f+g+f+c;}printf("%d\n",n);return0;}9.#include<stdio.h> int main(){int x;scanf("%d",&x);if(x>=90&&x<=100) printf("A\n");else if(x>=80) printf("B\n");else if(x>=70) printf("C\n");else if(x>=60) printf("D\n");elseprintf("E\n"); return0;}10.#include<stdio.h>int main(){double x,y,s;scanf("%lf,%lf",&x,&y);s=(x+2)*(x+2)+(y-2)*(y-2); if(s>1){s=(x+2)*(x+2)+(y+2)*(y+2); if(s>1){s=(x-2)*(x-2)+(y+2)*(y+2);if(s>1){s=(x-2)*(x-2)+(y-2)*(y-2);if(s>1){printf("0\n");return1;} }}}printf("10\n");return0;}二。
西工大NOJ100题解答

西工大NOJ100题解答#include<tdio.h>intmain(){inta,b,um;canf("%d%d",&a,&b);um=a+b;printf("%d\n",um);return0;}#include<tdio.h>#definePI3.1415926intmain(){doubler,h,l,,q,vq,vz;canf("%lf%lf",&r,&h);l=2某PI某r;=PI 某r某r;q=4某PI某r某r;vq=PI某r某r某r某4/3;vz=PI某r某r 某h;printf("%.2lf\n%.2lf\n%.2lf\n%.2lf\n%.2lf\n",l,,q,vq,vz);ret urn0;}#include<tdio.h>intmain(){doublema,eng,c,um,ave;canf("%lf%lf%lf",&ma,&eng,&c);um=ma+eng+c;ave=um/3;printf("%lf\n%lf\n",um,ave);return0;}#include<tdio.h>intmain(){inta,b,c,m;canf("%d%d%d",&a,&b,&c);if(a>b)m=a;elem=b;if(m<c)m=c;printf( "%d",m);return0;}#include<tdio.h>intmain(){intn;canf("%d",&n);if((1000<n<10000)&&(n/1000==n%10)&&(n/100%10==n/10%10))print f("ye\n");eleif((100<n<=1000)&&(n/100==n%10))printf("ye\n");elei f((10<n<=100)&&(n/10==n%10))printf("ye\n");eleif(0<n<=10)printf( "ye\n");eleprintf("no\n");return0;}#include<tdio.h>intmain(){doublel,bon;canf("%lf",&l);if(l<=10)bon=l某0.1;eleif(l<20)bon=1+(l-10)某0.075;eleif(l<40)bon=1.75+(l-20)某0.05;eleif(l<60)bon=2.75+(l-40)某0.03;eleif(l<100)bon=3.35+(l-60)某0.015;elebon=3.95+(l-100)某0.01;printf("%lf\n",bon);return0;}#include<tdio.h>intmain(){doubled,m;canf("%lf",&d);if(d<=2)m=7;eleif(d<=15){if(d-2==(int)(d-2))m=7+(d-2)某1.5;elem=7+((int)(d-2)+1)某1.5;}eleif(d-15==(int)(d-15))m=26.5+(d-15)某2.1;elem=26.5+((int)(d-15)+1)某2.1;printf("%lf\n",m);return0;}#include<tdio.h>intmain(){inty,m,d,Day,um;canf("%d-%d-%d",&y,&m,&d);if((y%4==0&&y%100!=0)||(y%400==0))Day=29;eleDay=28;witch(m){ cae1:um=d;break;cae2:um=31+d;break;cae3:um=31+Day+d;break;cae4:um=62+Day+d;break;cae5:um=92+Day +d;break;cae6:um=123+Day+d;break;cae7:um=153+Day+d;break;cae8:um =184+Day+d;break;cae9:um=215+Day+d;break;cae10:um=245+Day+d;brea k;cae11:um=276+Day+d;break;cae12:um=307+Day+d;break;} printf("%d\n",um);return0;}#include<tdio.h>intmain(){inti;canf("%d",&i);if(i>=90)printf("A\n");eleif(i>=80)printf("B\n");eleif(i>=70)printf("C\n");eleif(i> =60)printf("D\n");eleprintf("E\n");return0;}#include<tdio.h>intmain(){double某,y;canf("%lf,%lf",&某,&y);if((某-2)某(某-2)+(y-2)某(y-2)<=1)printf("10");eleif((某-2)某(某-2)+(y+2)某(y+2)<=1)printf("10");eleif((某+2)某(某+2)+(y-2)某(y-2)<=1)printf("10");eleif((某+2)某(某+2)+(y+2)某(y+2)<=1)printf("10");eleprintf("0");return0;}doublel,某,r;canf("%lf%lf",&l,&r);while((2某l某l某l-4某l某l+3某l-6)!=0&&(2某r某r某r-4某r某r+3某r-6)!=0){某=(l+r)/2;if((2某l某l某l-4某l某l+3某l-6)某(2某某某某某某-4某某某某+3某某-6)<=0)r=某;elel=某;}if(2某l某l某l-4某l某l+3某l-6==0)printf("%.2lf",l);eleprintf("%.2lf",r);return0;} #include<tdio.h>#include<math.h>intmain(){inti=800,t=2,cnt=0,um=0;doublee=-1;while(i>=500){while(t<=i-1){if(i%t==0)break;t++;}if(t==i)e=pow(-1,cnt),um=um+e某i,cnt++;i--;t=2;}printf("%d%d",cnt,um);return0;}#include<tdio.h>#include<math.h>intmain(){inta=1;doubleb=1,pi=0,c=1;while(fab(c)>=1e-6)pi=pi+c,b=b+2,a=-a,c=a/b;pi=pi某4;printf("%lf\n",pi);return0;}inta1=1,a2=1,n=2,um=2,t;while(um<=100){t=a1;a1=a2; a2=t+2某a2;um=um+a2;n++;}printf("%d\n",n-1);while(um<=1000){t=a1;a1=a2;a2=t+2某a2;um=um+a2;n++;}printf("%d\n",n-1);while(um<=10000){t=a1;a1=a2;a2=t+2某a2;um=um+a2;n++;}printf("%d\n",n-1);}#include<tdio.h>intmain(){int某,a,,n=1;canf("%d%d",&某,&a);=某;if(a!=0){for(;n<a;n++){=某某;if(>=1000)=/100%10某100+/10%10某10+%10;}}printf("%d\n",);return0;}#include<tdio.h>intmain(){intm,n,;canf("%d",&n);=n某n某n;printf("%d某%d某%d=%d=",n,n,n,);for(m=1;!=n某m;m++);if(n%2==1){for(=-n/2;<n/2;++)printf("%d+",m+2某);printf("%d",m+n/2某2);}ele{for(=-n/2;<n/2-1;++)printf("%d+",m+某2+1);printf("%d",m+(n/2-1)某2+1);}return0;}#include<tdio.h>intmain(){chara,b,c,某,y,z;a='A',b='B',c='C',某='某',y='Y',z='Z';printf("%c=%c\n",a,z);printf("%c=%c\n",b,某);printf("%c=%c\n",c,y);return0;}#include<tdio.h>intmain(){inta,b,t;canf("%d%d",&a,&b);if(a>b)t=a,a=b,b=t;for(;a<b;a++){for(t=2;t<a;t++)if(a%t==0)break;if(t==a)printf("%d",a);} return0;}#include<tdio.h>intmain(){intn=1;doublea1=1,a2=2,a3,um=2;while(n<=19){a3=a1+a2;um=um+a3/a2;a1=a2;a2=a3;n++;}printf("%lf\n",um);return0;}#include<tdio.h>#include<math.h>intmain(){ doublea;intn=0;canf("%lf",&a);a=fab(a);if(a<=1)printf("0\n");ele{while(a>1){a=a/10;n++;}printf("%d\n",n);}return0;}#include<tdio.h>intmain(){inta=1,b=0,t,m,n=0;canf("%d",&t);while(n<t){m=b; b=3某a+2某b;a=m;n++;}printf("%d%d",a,b);return0;}。
西工大POJ100题(全新)

西工大POJ100题(全新)1计算A+B2圆及圆球等的相关计算3计算成绩4找最大数5找幸运数6奖金发放7出租车费8是该年的第几天9成绩转换10求建筑高度11区间内素数12计算π13两个整数之间所有的素数14最次方数15自然数立方的乐趣16五猴分桃17完全数18二分求根19你会存钱吗?20级数和21幸运数字722粒子裂变23特殊整数24最大乘积25解不等式26危险的组合27子序列的和29探索合数世纪30韩信点兵31亲和数32高低交换33循环移位35组合数36积分计算37数据加密38获取指定二进制位39__N40不会吧,又是A+B 41平均值函数42插入排序43一维数组赋值44右下角45右上角46山迪的麻烦47冒泡排序48恐怖水母49左上角50一维数组加法51字符串排序52字符串左中右53文章统计54找出数字55字符串比较56THE CLOCK57合并字符串58特殊要求的字符串59字符串逆序60COIN TEST61小型数据库62单词频次65检测位图长宽67子字符串替换68复数69字符串加密编码70重组字符串71大数除法72创建与遍历职工链表73大数加法74大数减法75链表节点删除76链表动态增长或缩小77大数乘法78精确乘幂80火车站81操场训练82__NE84阶乘合计85王的对抗86三点顺序87公园喷水器88勇闯天涯89不屈的小蜗90THE RATIO OF __ TO LOSERS91__RD92__TIC __SIONS93__94__AT97BEE98__M __HM99Hanoi 2100Specialized number1计算A+B#includestdio.hint main(){int a,b,sum;scanf(“%d %d",a,sum=a+b;printf("%d",sum); }2圆及圆球等的相关计算#includestdio.hint main(){float r,h,l,s,sq,vq,vz,pi=3.__-__3; scanf("%f %f",r,l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4.0/3*pi*r*r*r;vz=pi*r*r*h;printf("%.2f\n%.2f\n%.2f\n%.2f\n%.2f\n",l,s,sq,vq,vz); return 0; }3计算成绩#include stdio.hint main(){float a,b,c,sum,ave;scanf("%f %f %f",a,b,sum=a+b+c;ave=sum/3.0;printf("%.6f\n%.6f",sum,ave);return 0;}4找最大数#includestdio.hint main(){int a,b,c,t;scanf("%d %d %d",a,b, if (ab) t=a,a=b;if(ac) t=a,a=c;printf("%d",a); return 0;}5找幸运数#include stdio.hint main(){int i,j,a;scanf("%d",i=0;j=a;while(j){i=10*i+(j%10);j=j/10;}if(i==a)printf("yes\n");else printf("no\n");return 0;}6奖金发放#includestdio.hint main (){float l;scanf("%f",if (l=10)l=l*0.1;else if(l=20)l=10*0.1+(l-10)*0.075;else if(l=40)l=10*0.1+10*0.075+(l-20)*0.05; elseif(l=60)l=10*0.1+10*0.075+20*0.05+(l-40)*0.03; elseif(l=100)l=10*0.1+10*0.075+20*0.05+20*0.03+(l-60)*0.015; elsel=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(l-100)*0.01; printf("%.6f",l);return 0;}7出租车费#includestdio.h#includemath.hint main(){float a,n,t;scanf("%f",if (a=2) n=7;else if (a=15) {t=a-floor(a);if(t==0)n=7+(floor(a)-2)*1.5;else n=7+(floor(a)-1)*1.5;}else {t=a-floor(a);if(t==0) n=7+13*1.5+(floor(a)-15)*2.1; else n=7+13*1.5+(floor(a)-14)*2.1;} printf("%.6f",n);return 0;}8是该年的第几天#includestdio.hint main(){int y,m,d,n,a;scanf("%d-%d-%d",y,m,if((y%4==0y%100!=0)||(y%400==0)) a=29; else a=28; switch(m){case 1:n=d;break;case 2:n=31+d;break;case 3:n=31+a+d;break;case 4:n=62+a+d;break;case 5:n=92+a+d;break;case 6:n=123+a+d;break;case 7:n=153+a+d;break;case 8:n=184+a+d;break;case 9:n=215+a+d;break;case 10:n=245+a+d;break;case 11:n=276+a+d;break;case 12:n=306+a+d;break;}printf("%d",n);return 0;}9成绩转换#includestdio.hint main()int n;scanf("%d",if(n60)printf("E\n");else if(n70)printf("D\n");else if(n80)printf("C\n");else if(n90)printf("B\n");else printf("A\n");return 0;}10求建筑高度#includestdio.hint main(){float x,y,a,b,c,d;scanf("%f,%f",x,a=(x-2)*(x-2)+(y-2)*(y-2);b=(x-2)*(x-2)+(y+2)*(y+2);c=(x+2)*(x+2)+(y-2)*(y-2);d=(x+2)*(x+2)+(y+2)*(y+2);if(a=1||b=1||c=1||d=1)printf("10"); else printf("0"); return 0;11区间内素数#includestdio.h#includemath.hint main(){int i,n=500,cnt=0,sum=0;while(n=800){for (i=2;i=n-1;i++)if (n%i==0)break;if (i==n)cnt=cnt+1,sum=sum+pow((-1),cnt)*n; n=n+1; }printf("%d %d",cnt,sum);return 0;}12计算π#includestdio.h#includemath.hint 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("%.6f",pi);return 0;}13两个整数之间所有的素数#includestdio.hint main(){int a,b,t,i;scanf("%d%d",a,if(ab)t=a,a=b,b=t;while (a=b){for (i=2;i=a-1;i++)if (a%i==0)break;if(i==a)printf("%d ",a);a++;}return 0;}14最次方数#includestdio.hint main(){int x,a,m=1,n=1;scanf("%d %d",x,while (m=a){n=n__;n=n%1000;m=m+1;}printf("%d",n);return 0;}15自然数立方的乐趣#includestdio.hint main(){int n,a,i,t;scanf("%d",a=n*(n-1)+1;t=n*n*n;printf("%d*%d*%d=%d=",n,n,n,t);for(i=1;ii++){printf("%d+",a);a=a+2;}printf("%d",a);return 0;}16五猴分桃#includestdio.hint divides(int n,int m){if (n/5==0||n%5!=1)return 0;if (m==1)return 1;return divides(n-n/5-1,m-1);}int main(){int n,a;for (n=1;;n++)if(divides(n,5)){printf("%d ",n);break;}a=(((((n-1)*4/5-1)*4/5-1)*4/5-1)*4/5-1)*4/5; printf("%d",a);return 0;}17完全数#includestdio.hint main(){int i,n,sum=0;for(n=2;n1000;n++){sum=0;for (i=1;i=n/2;i++){if(n%i==0)sum=sum+i;}if(sum==n){printf("%d=",n); for(i=1;ii++)if(n%i==0)printf("%d+",i);i=n/2;printf("%d\n",i);}}return 0;}18二分求根#includemath.h#includestdio.hdouble fun(double x) {return 2__-4__+3__-6;} double root(double a,double b,double e){double x1,x2,y1,x,y;x1=a;x2=b;do {x=(x1 + x2)/2;y=fun(x);y1=fun(x1);if((y0y10)||(y0y10))x1=x;elsex2=x;/*end if*/}while(fabs(y)return x;}int main(void){double m,n;scanf("%f %f",m,double x=root(m,n,1e-8);printf("%.2f\n",x);return 0;}19你会存钱吗?#includestdio.h#includemath.hint main(){int i8,i5,i3,i2,i1,n8,n5,n3,n2,n1;float max=0,term;for(i8=0;i8i8++) /*穷举所有可能的存款方式*/。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1·计算A+B2·圆及圆球等的相关计算3·计算成绩4·找最大数5·找幸运数6·奖金发放7·出租车费8·是该年的第几天9·成绩转换10·求建筑高度11·区间内素数12·计算π13·两个整数之间所有的素数14·最次方数15·自然数立方的乐趣16·五猴分桃17·完全数18·二分求根19·你会存钱吗?20·级数和21·幸运数字722·粒子裂变23·特殊整数24·最大乘积25·解不等式26·危险的组合27·子序列的和29·探索合数世纪30·韩信点兵31·亲和数32·高低交换33·循环移位35·组合数36·积分计算37·数据加密38·获取指定二进制位39·ACKERMAN40·不会吧,又是A+B 41·平均值函数42·插入排序43·一维数组赋值44·右下角45·右上角46·山迪的麻烦47·冒泡排序48·恐怖水母49·左上角50·一维数组加法51·字符串排序52·字符串左中右53·文章统计54·找出数字55·字符串比较56·THE CLOCK 57·合并字符串58·特殊要求的字符串59·字符串逆序60·COIN TEST 61·小型数据库62·单词频次65·检测位图长宽67·子字符串替换68·复数69·字符串加密编码70·重组字符串71·大数除法72·创建与遍历职工链表73·大数加法74·大数减法75·链表节点删除76·链表动态增长或缩小77·大数乘法78·精确乘幂80·火车站81·操场训练82·HAILSTONE84·阶乘合计85·王的对抗86·三点顺序87·公园喷水器88·勇闯天涯89·不屈的小蜗90·THE RATIO OF GAINERS TO LOSERS 91·GRAVEYARD92·ARITHMETIC PROGRESSIONS 93·SCORING94·HOUSEBOAT97·BEE98·CHECKSUM ALGORITHM99·Hanoi 2100·Specialized number1·计算A+B#include<stdio.h>int main(){int a,b,sum;scanf("%d %d",&a,&b);sum=a+b;printf("%d",sum);}2·圆及圆球等的相关计算#include<stdio.h>int main(){float r,h,l,s,sq,vq,vz,pi=3.141592653;scanf("%f %f",&r,&h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4.0/3*pi*r*r*r;vz=pi*r*r*h;printf("%.2f\n%.2f\n%.2f\n%.2f\n%.2f\n",l,s,sq,v q,vz);return 0;}3·计算成绩#include <stdio.h>int main(){float a,b,c,sum,ave;scanf("%f %f %f",&a,&b,&c);sum=a+b+c;ave=sum/3.0;printf("%.6f\n%.6f",sum,ave);return 0;}4·找最大数#include<stdio.h>int main(){int a,b,c,t;scanf("%d %d %d",&a,&b,&c);if (a<b) t=a,a=b;if(a<c) t=a,a=c;printf("%d",a);return 0;}5·找幸运数#include <stdio.h>int main(){int i,j,a;scanf("%d",&a);i=0;j=a;while(j){i=10*i+(j%10);j=j/10;}if(i==a)printf("yes\n");else printf("no\n");return 0;}6·奖金发放#include<stdio.h>int main (){float l;scanf("%f",&l);if (l<=10)l=l*0.1;else if(l<=20)l=10*0.1+(l-10)*0.075;else if(l<=40)l=10*0.1+10*0.075+(l-20)*0.05;elseif(l<=60)l=10*0.1+10*0.075+20*0.05+(l-40)*0.03;elseif(l<=100)l=10*0.1+10*0.075+20*0.05+20*0.03+(l-60)* 0.015;elsel=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(l-100)* 0.01;printf("%.6f",l);return 0;}7·出租车费#include<stdio.h>#include<math.h>int main(){float a,n,t;scanf("%f",&a);if (a<=2) n=7;else if (a<=15) {t=a-floor(a);if(t==0)n=7+(floor(a)-2)*1.5;else n=7+(floor(a)-1)*1.5;}else {t=a-floor(a);if(t==0) n=7+13*1.5+(floor(a)-15)*2.1;else n=7+13*1.5+(floor(a)-14)*2.1;} printf("%.6f",n);return 0;}8·是该年的第几天#include<stdio.h>int main(){int y,m,d,n,a;scanf("%d-%d-%d",&y,&m,&d);if((y%4==0&&y%100!=0)||(y%400==0)) a=29;else a=28;switch(m){case 1:n=d;break;case 2:n=31+d;break;case 3:n=31+a+d;break;case 4:n=62+a+d;break;case 5:n=92+a+d;break;case 6:n=123+a+d;break;case 7:n=153+a+d;break;case 8:n=184+a+d;break;case 9:n=215+a+d;break;case 10:n=245+a+d;break;case 11:n=276+a+d;break;case 12:n=306+a+d;break;}printf("%d",n);return 0;}9·成绩转换#include<stdio.h>int main(){int n;scanf("%d",&n);if(n<60)printf("E\n");else if(n<70)printf("D\n");else if(n<80)printf("C\n");else if(n<90)printf("B\n");else printf("A\n");return 0;}10·求建筑高度#include<stdio.h>int main(){float x,y,a,b,c,d;scanf("%f,%f",&x,&y);a=(x-2)*(x-2)+(y-2)*(y-2);b=(x-2)*(x-2)+(y+2)*(y+2);c=(x+2)*(x+2)+(y-2)*(y-2);d=(x+2)*(x+2)+(y+2)*(y+2);if(a<=1||b<=1||c<=1||d<=1)printf("10");else printf("0");return 0;}11·区间内素数#include<stdio.h>#include<math.h>int main(){int i,n=500,cnt=0,sum=0;while(n<=800){for (i=2;i<=n-1;i++)if (n%i==0)break;if (i==n)cnt=cnt+1,sum=sum+pow((-1),cnt)*n; n=n+1;}printf("%d %d",cnt,sum);return 0;}12·计算π#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("%.6f",pi);return 0;}13·两个整数之间所有的素数#include<stdio.h>int main(){int a,b,t,i;scanf("%d%d",&a,&b);if(a>b)t=a,a=b,b=t;while (a<=b){for (i=2;i<=a-1;i++)if (a%i==0)break;if(i==a)printf("%d ",a);a++;}return 0;}14·最次方数#include<stdio.h>int main(){int x,a,m=1,n=1;scanf("%d %d",&x,&a);while (m<=a){n=n*x;n=n%1000;m=m+1;}printf("%d",n);return 0;}15·自然数立方的乐趣#include<stdio.h>int main(){int n,a,i,t;scanf("%d",&n);a=n*(n-1)+1;t=n*n*n;printf("%d*%d*%d=%d=",n,n,n,t);for(i=1;i<n;i++){printf("%d+",a);a=a+2;}printf("%d",a);return 0;}16·五猴分桃#include<stdio.h>int divides(int n,int m){if (n/5==0||n%5!=1)return 0;if (m==1)return 1;return divides(n-n/5-1,m-1);}int main(){int n,a;for (n=1;;n++)if(divides(n,5)){printf("%d ",n);break;}a=(((((n-1)*4/5-1)*4/5-1)*4/5-1)*4/5-1)*4/5;printf("%d",a);return 0;}17·完全数#include<stdio.h>int main(){int i,n,sum=0;for(n=2;n<1000;n++){sum=0;for (i=1;i<=n/2;i++){if(n%i==0)sum=sum+i;}if(sum==n){printf("%d=",n);for(i=1;i<n/2;i++)if(n%i==0)printf("%d+",i);i=n/2;printf("%d\n",i);}}return 0;}18·二分求根#include<math.h>#include<stdio.h>double fun(double x) {return 2*x*x*x-4*x*x+3*x-6;} double root(double a,double b,double e){double x1,x2,y1,x,y;x1=a;x2=b;do {x=(x1 + x2)/2;y=fun(x);y1=fun(x1);if((y<0&&y1<0)||(y>0&&y1>0))x1=x;elsex2=x;/*end if*/}while(fabs(y) > e);return x;}int main(void){double m,n;scanf("%f %f",&m,&n);double x=root(m,n,1e-8);printf("%.2f\n",x);return 0;}19·你会存钱吗?#include<stdio.h>#include<math.h>int main(){int i8,i5,i3,i2,i1,n8,n5,n3,n2,n1;float max=0,term;for(i8=0;i8<3;i8++) /*穷举所有可能的存款方式*/for(i5=0;i5<=(20-8*i8)/5;i5++)for(i3=0;i3<=(20-8*i8-5*i5)/3;i3++)for(i2=0;i2<=(20-8*i8-5*i5-3*i3)/2;i2++){i1=20-8*i8-5*i5-3*i3-2*i2;term=2000.0*pow((double)(1+0.0063*12),(double)i1) *pow((double)(1+2*0.0063*12),(double)i2)*pow((double)(1+3*0.0069*12),(double)i3)*pow((double)(1+5*0.0075*12),(double)i5)*pow((double)(1+8*0.0084*12),(double)i8);/*计算到期时的本利合计*/if(term>max){max=term;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;}}printf("%d ",n8);printf("%d ",n5);printf("%d ",n3);printf("%d ",n2);printf("%d\n",n1);printf("%.2f",max);/*输出存款方式*/}20·级数和#include<stdio.h>#include<math.h>int main(){ int j,t,i,a,n;double s=0;scanf("%d",&n);j=-1; i=1; t=1;for (a=0;a<n;a++){t=t*2; j*=-1; i*=-1; s=s+j*t/((t+i)*(2*t+j)+0.0);}printf("%.6lf\n",s);return 0;}21·幸运数字7#include<stdio.h>int main(){int n,i;scanf("%d",&n);//n不大于30000if(n<7);else {for (i=7;i<=n;i++)if(i%7==0||i%10==7||i/1000%10==7||i/100%10==7||i/10 %10==7)printf("%d ",i);}return 0;}22·粒子裂变#include<stdio.h>int main(){int n[100],m[100],t,i;n[0]=1;m[0]=0;scanf("%d",&t);for(i=1;i<=t;i++){n[i]=m[i-1];m[i]=3*n[i-1]+2*m[i-1]; }printf("%d %d",n[t],m[t]); return 0;}23·特殊整数#include<stdio.h>#include <stdlib.h>#include<math.h>int main(){int m,n,g=0,s=0,i,j,x,x1,x2;scanf("%d %d",&m,&n);x1=(int)(pow(10.0,n)/10);x2=(int)(pow(10.0,n)-1);for(i=x1;i<=x2;i++){j=i;do{x=j%10;if(x==m){if(i%m!=0)g++,s=s+i;break;}else j=j/10;}while(j!=0);}printf("%d %d\n",g,s);return 0;}24·最大乘积#include<stdio.h>int main(){int A[18],i,j,n,x,y=0;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&A[i]);for(i=0;i<n;i++){x=1;for(j=i;j<n;j++){x=x*A[j];if(x>y) y=x;}}if(y>0)printf("%d",y);else printf("-1");return 0;}25·解不等式#include<stdio.h>int main(){int a,b;float n,s=0,sum=0;scanf("%d %d",&a,&b);for (n=1;sum<=a;n++){s=s+1/n;sum=sum+1/s;}printf("%.0f ",n=n-1); for (n;sum<=b;n++){s=s+1/n;sum=sum+1/s;}printf("%.0f",n=n-1); return 0;}26·危险的组合#include<stdio.h>#include<math.h>int main(){int n;int f(int);scanf("%d",&n);printf("%d",f(n));return 0;}int f(int n){int a;if(n==1||n==2)a=0;else if(n==3)a=1;else if(n==4)a=3;else a=f(n-1)*2+pow(2,n-4)-f(n-4);return a;}27·子序列的和#include<stdio.h>#include<math.h>int main(){int m,n,i; //n<m<1000000double a,sum=0;scanf("%d %d",&n,&m);for (i=n;i<=m;i++){a=pow(i,2.0);sum=sum+1/a;}printf("%.5lf",sum);return 0;}29·探索合数世纪#include<stdio.h>int main(){int n,i=500,s,x,count=0;long j,k;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",j-101,j-2);return 0;}30·韩信点兵include<stdio.h>int main(){int a,b,c,n;//a<3,b<5,c<7scanf("%d %d %d",&a,&b,&c);for (n=10;n<=100;n++){if((n-a)%3==0&&(n-b)%5==0&&(n-c)%7==0)break;}if(n>100)printf("-1");else printf("%d ",n);return 0;}31·亲和数#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");else printf("NO");return 0;}32·高低交换#include<stdio.h>inline int xchg(unsigned char n) {char left=n<<4;char right=n>>4;return left+right;}int main(){int n;scanf("%d",&n);n=xchg(n);printf("%d",n);return 0;33·循环移位#include<stdio.h>int move(int value,int n){if(n==0) return value;else if(n<0){n=-n;value=(value<<n)|(value>>(32-n));}else value=(value>>n)|(value<<(32-n));return value;}int main(){int value,n;scanf("%d %d",&value,&n);value=move(value,n);printf("%d",value);return 0;35·组合数#include<stdio.h>int C(int m,int n){int i,p=1;for (i=1;i<=n;i++)p*=(m+1-i)/(double)i;return p;}int main(){int m,n,t;scanf("%d %d",&m,&n);if(n>m) printf("wrong\n");else {t=C(m,n);printf("%d\n",t);}return 0;}36·积分计算#include<stdio.h>double f(double x){return 1.0/(1.0+x*x);}double jf(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=jf(a,b);printf("%lf",s);return 0;}37·数据加密#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",a);return 0;}38·获取指定二进制位#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",k);return 0;}39·ACKERMAN#include<stdio.h>int ack(int m,int n){if(m==0) return n+1;else if(n==0) return ack(m-1,1); else return ack(m-1,ack(m,n-1)); }int main(){int m,n;scanf("%d %d",&m,&n);m=ack(m,n);printf("%d",m);return 0;}40·不会吧,又是A+B#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 ",a,b,c);return 0;}41·平均值函数#include<stdio.h>double avg(int A[],int s,int e){int i;double t,sum;for(i=s;i<=e;i++)sum+=A[i];t=sum/(e-s+1);return t;}int main(){int n,s,e,i,A[100];double t;scanf("%d\n",&n);for(i=0;i<n;i++)scanf("%d ",&A[i]);scanf("%d %d",&s,&e);t=avg(A,s,e);printf("%f",t);return 0;}42·插入排序#include<stdio.h>void InsertionSort(int a[],int s,int m) {int t,i,j,k;for(i=0;i<m;i++){for(j=s+1;j<s+m-i;j++){t=a[j];k=j-1;while(t>a[k]){a[k+1]=a[k];k--;if(k==(s-1))break;}a[k+1]=t;}}}int main(){int n,a[100],i,s,m;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d %d",&s,&m);InsertionSort(a,s,m);for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");return 0;}43·一维数组赋值#include<stdio.h>int main(){int A[100],B[100],i,n;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&A[i]);for(i=0;i<n;i++){B[i]=A[i];if(i%2!=0)printf("%d ",B[i]);}return 0;}44·右下角#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;j++){if(j<=n-i-2)printf(" "); else printf("%d ",a[i][j]);} printf("\n");}return 0;}45·右上角#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;j++){if(j>=i)printf("%d ",a[i][j]); else printf(" ");}printf("\n");}return 0;}46·山迪的麻烦#include<stdio.h>int main(){int n,count=0,i,j,a[100],k;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++){k=a[i];for(j=i-1;j>=0&&k<a[j];j--){count++;a[j+1]=a[j];}a[j+1]=k;}printf("%d\n",count);return 0;}47·冒泡排序#include<stdio.h>void BubbleSort(int a[],int s,int m) {int t,i,j;for(i=0;i<m-1;i++){for(j=s;j<s+m-i-1;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}int main(){int n,a[100],i,s,m;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d %d",&s,&m);BubbleSort(a,s,m);for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");return 0;}48·恐怖水母#include<stdio.h>int main(){int n,m,i,j,a[100],b[100],t,sum=0; scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<m;i++)scanf("%d",&b[i]);for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<m-1;i++){for(j=0;j<m-1-i;j++)if(b[j]>b[j+1]){t=b[j];b[j]=b[j+1];b[j+1]=t;}}for(i=0,j=0;i<n&&j<m;j++){if(a[i]<=a[j]){sum+=b[j];i++;}}printf("%d\n",sum);return 0;}49·左上角#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;}50·一维数组加法#include<stdio.h>int main(){int A[100],B[100],C[100],n,i;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&A[i]);for(i=0;i<n;i++)scanf("%d",&B[i]);for(i=0;i<n;i++){C[i]=A[i]+B[i];printf("%d ",C[i]);}return 0;}51·字符串排序#include<stdio.h>#include<string.h>int main(){char str[10][10];int i,j;char t[10];for(i=0;i<10;i++){scanf("%s",str[i]);}for(i=0;i<10;i++){for(j=0;j<10-i;j++){if(strcmp(str[j],str[j+1])>0) {strcpy(t,str[j]);strcpy(str[j],str[j+1]);strcpy(str[j+1],t);}}}for(i=0;i<10;i++)printf("%s ",str[i]);return 0;}52·字符串左中右#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++){。