您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2008版南开100题二级C语言上机考试习题集答案(编程题)
1/8编程题第1题答案intfun(intscore[],intm,intbelow[]){inti,k=0,aver=0;for(i=0;im;i++)aver+=score[i];aver/=m;for(i=0;im;i++)if(score[i]aver){below[k]=score[i];k++;}returnk;}第2题答案voidfun(int*a,int*n){inti,j=0;for(i=2;i1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}第3题答案voidfun(intx,intpp[],int*n){inti=1,j=0,k=0,*t=pp;for(i=0;i=x;i++)if(i%2!=0){t[j]=i;j++;}for(i=0;ij;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}第4题答案voidfun(char*tt,intpp[]){inti;for(i=0;i26;i++)pp[i]=0;while(*tt){switch(*tt){case'a':pp[0]++;break;case'b':pp[1]++;break;case'c':pp[2]++;break;case'd':pp[3]++;break;case'e':pp[4]++;break;case'f':pp[5]++;break;case'g':pp[6]++;break;case'h':pp[7]++;break;case'i':pp[8]++;break;case'j':pp[9]++;break;case'k':pp[10]++;break;case'l':pp[11]++;break;case'm':pp[12]++;break;case'n':pp[13]++;break;case'o':pp[14]++;break;case'p':pp[15]++;break;case'q':pp[16]++;break;case'r':pp[17]++;break;case's':pp[18]++;break;case't':pp[19]++;break;case'u':pp[20]++;break;case'v':pp[21]++;break;case'w':pp[22]++;break;case'x':pp[23]++;break;case'y':pp[24]++;break;case'z':pp[25]++;break;}tt++;}}第5题答案voidfun(intm,intk,intxx[]){intg=0,i,j,flag=1;for(i=m+1;im*m;i++){for(j=2;ji;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if(flag==1&&j=i){if(k=0){xx[g++]=i;k--;}elsebreak;}}}第6题答案voidfun(chara[],charb[],intn){inti,j=0;for(i=0;iLEN;i++)if(i!=n){b[j]=a[i];j++;}b[j]='\0';}第7题答案voidfun(int*s,intt,int*k){inti,max;max=s[0];for(i=0;it;i++)if(s[i]max){max=s[i];*k=i;}}第8题答案floatfun(intn){inti;floats=1.0,t=1.0;for(i=2;i=n;i++){t=t+i;s=s+1/t;}returns;}第9题答案floatfun(intm,intn){floatp,t=1.0;inti;for(i=1;i=m;i++)t=t*i;p=t;for(t=1.0,i=1;i=n;i++)t=t*i;p=p/t;for(t=1.0,i=1;i=m-n;i++)t=t*i;p=p/t;returnp;}第10题答案floatfun(){floatx1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)=1e-6);returnx1;}第11题答案intfun(inta[][N]){inti,j;for(i=0;iN;i++)for(j=0;j=i;j++)a[i][j]=0;}第12题答案doublefun(intw[][N]){inti,j,k=0;doubles=0.0;for(j=0;jN;j++){s+=w[0][j];k++;}for(j=0;jN;j++){s+=w[N-1][j];k++;}for(i=1;i=N-2;i++){s+=w[i][0];k++;}for(i=1;i=N-2;i++){s+=w[i][N-1];2/8k++;}returns/=k;}第13题答案voidfun(inttt[M][N],intpp[N]){inti,j,min;for(j=0;jN;j++){min=tt[0][j];for(i=0;iM;i++){if(tt[i][j]min)min=tt[i][j];}pp[j]=min;}}第14题答案intfun(inta[M][N]){inti,j,s=0;for(j=0;jN;j++){s+=a[0][j];s+=a[M-1][j];}for(i=1;i=M-2;i++){s+=a[i][0];s+=a[i][N-1];}returns;}第15题答案unsignedfun(unsignedw){unsignedt,s=0,s1=1,p=0;t=w;while(t10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}returns;}第16题答案floatfun(floath){longt;floats;h=h*1000;t=(h+5)/10;s=(float)t/100.0;returns;}第17题答案voidfun(char*s){charch;inti,m,n;i=0;m=n=strlen(s)-1;while(i(n+1)/2){ch=s[i];s[i]=s[m];s[m]=ch;i++;m--;}}第18题答案voidfun(intarray[3][3]){inti,j,temp;for(i=0;i3;i++)for(j=0;ji;j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;}}第19题答案voidfun(chars[],intc){inti=0;char*p;p=s;while(*p){if(*p!=c){s[i]=*p;i++;}p++;}s[i]='\0';}第20题答案intfun(intlim,intaa[MAX]){intk=0,i,j;for(i=lim;i1;i--){for(j=2;ji;j++)if(i%j==0)break;elsecontinue;if(j=i){aa[k]=i;k++;}}returnk++;}第21题答案voidfun(char*s,intnum){chart;inti,j;for(i=1;inum-2;i++)for(j=i+1;jnum-1;j++)if(s[i]s[j]){t=s[i];s[i]=s[j];s[j]=t;}}第22题答案doublefun(STREC*h){doublemax;STREC*q=h;max=h-s;do{if(q-smax)max=q-s;q=q-next;}while(q!=0);returnmax;}第23题答案intfun(char*str){inti,n=0,fg=1;char*p=str;while(*p){n++;p++;}for(i=0;in/2;i++)if(str[i]==str[n-1-i]);else{fg=0;break;}returnfg;}第24题答案longfun(char*p){longs=0,t;inti=0,j,n=strlen(p),k,s1;if(p[0]=='-')i++;for(j=i;j=n-1;j++){t=p[j]-'0';s1=10;for(k=j;kn-1;k++)t*=s1;s+=t;}if(p[0]=='-')return-s;elsereturns;}第25题答案char*fun(char*s,char*t){char*p,*t1=t,*s1=s;intn=0,m=0;while(*s1){n++;s1++;}while(*t1){m++;t1++;}3/8if(n=m)p=s;elsep=t;returnp;}第26题答案doublefun(doubleeps){doubles;floatn,t,pi;t=1;pi=0;n=1.0;s=1.0;while((fabs(s))=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}pi=pi*2;returnpi;}第27题答案voidfun(intm,int*a,int*n){inti,j=0;*n=0;for(i=1;i=m;i++)if(i%7==0||i%11==0){a[j]=i;j++;}*n=j;}第28题答案voidfun(inta[],intn,int*max,int*d){inti;*max=a[0];*d=0;for(i=0;in;i++)if(a[i]*max){*max=a[i];*d=i;}}第29题答案voidfun(char*ss){inti,n;n=strlen(ss);for(i=1;in;i+=2)if(ss[i]='a'&&ss[i]='z')ss[i]=ss[i]-32;}第30题答案intfun(inta[][M]){inti,j,max;max=a[0][0];for(i=0;i2;i++)for(j=0;jM;j++)if(a[i][j]max)max=a[i][j];returnmax;}第31题答案voidfun(char*s,chart[]){inti,j=0,n;n=strlen(s);for(i=0;in;i++)if(i%2==0&&s[i]%2==0){t[j]=s[i];j++;}t[j]='\0';}第32题答案voidfun(char*s,chart[]){inti,j=0,n;n=strlen(s);for(i=0;in;i++)if(i%2!=0&&s[i]%2!=0){t[j]=s[i];j++;}t[j]='\0';}第33题答案voidfun(char*a,intn){inti=0,k=0;char*p,*t;p=t=a;while(*t)t++;t--;while(*t=='*'){k++;t--;}t++;if(kn){while(*p&&pt+n){a[i]=*p;i++;p++;}a[i]='\0';}}第34题答案intfun(STREC*a,STREC*b){inti,j=0,n=0,max;max=a[0].s;for(i=0;iN;i++)if(a[i].smax)max=a[i].s;for(i=0;iN;i++)if(a[i].s==max){*(b+j)=a[i];j++;n++;}returnn;}第35题答案voidfun(char*str){inti=0;char*p=str;while(*p){if(*p!=''){str[i]=*p;i++;}p++;}str[i]='\0';}第36题答案voidfun(char*a){inti=0,n=0;char*p;p=a;while(*p=='*'){n++;p++;}while(*p){a[i]=*p;i++;p++
本文标题:2008版南开100题二级C语言上机考试习题集答案(编程题)
链接地址:https://www.777doc.com/doc-3086263 .html