未来教育版的计算机二级c语言上机题库2012年的

第一篇:未来教育版的计算机二级c语言上机题库2012年的
1)【参考答案】 int fun(int a[][M]){ int i,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j if(max max=a[i][j]; return max;} 2)【参考答案】 double fun(double eps){ double s=1.0,s1=1.0; int n=1; while(s1>=eps) {s1=s1*n/(2*n+1); s=s+s1; n++; } return 2*s;} 3)参考答案】 void fun(int *a, int *n){ int i,j=0; for(i=1;i<=1000;i++) if((i%7==0||i%11==0)&&i%77!=0) a[j++]=i; *n=j; } 4)【参考答案】 void fun(char *a){ int i,j=0; for(i=0;a[i]!='';i++) if(a[i]!='*') a[j++]=a[i]; a[j]='';} 5)【参考答案】 void fun(char p1[], char p2[]){ int i,j; for(i=0;p1[i]!='';i++); for(j=0;p2[j]!='';j++) p1[i++]=p2[j]; p1[i]='';} 6)【参考答案】 void fun(STREC *a){ int i; a->ave=0.0; for(i=0;i a->ave=a->ave+a->s[i]; a->ave/=N; } 7)【参考答案】 double fun(STREC *h){ double ave=0.0; STREC *p=h->next; while(p!=NULL) { ave=ave+p->s; p=p->next; } return ave/N;} 8)【参考答案】 void fun(int m, int *k, int xx[]){ int i,j,n=0;for(i=4;i { for(j=2;j if(i%j==0)break; if(j } 9)【参考答案】 int fun(char *ss, char c){ int i=0; for(;*ss!='';ss++) if(*ss==c) i++;return i;} 10)float fun(float *a , int n){ int i; float av=0.0; for(i=0;i av=av+a[i]; return(av/n); } 12)void fun(char *a){ int i=0; char *p=a; while(*p&&*p=='*') { a[i]=*p; i++; p++; } while(*p) { if(*p!='*') {a[i]=*p;i++;} p++; } a[i]='';} 11)【参考答案】 int fun(STREC *a, STREC *b){ int i,j=0,max=a[0].s; for(i=0;i if(max for(i=0;i if(max==a[i].s) b[j++]=a[i]; return j; } 13)void fun(char *tt, int pp[]){ int i; for(i=0;i<26;i++) pp[i]=0; for(;*tt!='';tt++) if(*tt>='a'&&*tt<='z') pp[*tt-'a']++; } 14)【参考答案】 void fun(char *a){ while(*a!='') a++; a--; while(*a=='*') a--; *(a+1)=''; } 15)【参考答案】 char *fun(char *s, char *t){ int i,j; for(i=0;s[i]!= '';i++); for(j=0;t[j]!= '';j++); if(i<=j) return t; else return s;} 16)【参考答案】 STREC fun(STREC *a, char *b){int i; STREC str={“”,-1}; for(i=0;i if(strcmp(a[i].num,b)==0) str=a[i]; return str; } 17)【参考答案】 void fun(char *s, char t[]){ int i,j=0; for(i=0;s[i]!='';i++) if(i%2==0 && s[i]%2==0) t[j++]=s[i]; t[j]=''; } 18)double fun(){ double x0,x1;x1=0.0;do { x0=x1;x1=cos(x0); }while(fabs(x0-x1)>=1e-6);return x1;} 19)【参考答案】 void fun(char *a){ int i=0,n=0;char *p;p=a; while(*p=='*'){ n++;p++;} while(*p) { a[i]=*p;i++;p++;} while(n!=0){ a[i]='*';i++;n--;} a[i]='';} 20)【参考答案】 int fun(STREC *a, STREC *b){ int i,j; STREC t; for(i=0;i if(*max b[k]=''; } (37)参考答案】 for(i=1;i {*max=a[i];*d=i;} int i,j=0,min=a[0].s; for(i=0;i if(min>a[i].s) min=a[i].s; for(i=0;i if(min==a[i].s) b[j++]=a[i]; return j;} 21)【参考答案】 double fun(int m){ int i; double s=0.0; for(i=1;i<=m;i++) s=s+log(i); return sqrt(s); } 22)void fun(char *s, char t[]){ int i,j=0,k=strlen(s); for(i=1;i t[j++]=s[i]; t[j]='';} 23)【参考答案】 void fun(char *s, char t[]){ int i,j=0,k=strlen(s); for(i=1;i t[j++]=s[i]; t[j]='';} 24)void fun(int a, int b, long *c){ *c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;} 25)【参考答案】 void fun(char *a, char *p){ char *t=a; for(;t<=p;t++) if(*t!='*') *(a++)=*t; for(;*t!='';t++) *(a++)=*t; *a='';} 26)void fun(STREC a[]){ for(j=0;j if(a[j].s int i; double av=0.0; *n=0; for(i=0;i av=av+a[i].s; av=av/N; for(i=0;i if(av<=a[i].s) { b[*n]=a[i];*n=*n+1;} return av; } 28)void fun(int m, int *a , int *n){ int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j; } 29)void fun(char *a){ char *p=a; while(*p=='*')p++; for(;*p!='';p++,a++) *a=*p; *a=''; } 30)double fun(STREC *h){ double max=h->s; while(h!=NULL) {if(max h=h->next; } return max;}(31)【参考答案】 void fun(int a[],int n, int *max, int *d){ int i; *max=a[0]; *d=0; } (32)【参考答案】 void fun(char *s, char t[]){ int i,j=0,n; n=strlen(s); for(i=0;i if(i%2!=0&&s[i]%2!=0) {t[j]=s[i]; j++; } t[j]=''; } (33)【参考答案】 void fun(int a[3][3], int b[3][3]){ int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) b[i][j]=a[i][j]+a[j][i];} (34)【参考答案】 void fun(int(*s)[10],int *b,int *n,int mm,int nn){ int i,j; for(j=0;j for(i=0;i { b[*n]=*(*(s+i)+j); *n=*n+1; } } (35)【参考答案】 void fun(int a, int b, long *c){ *c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;} (36)【参考答案】 void fun(char a[M][N],char *b){ int i,j,k=0; for(i=0;i for(j=0;a[i][j]!='';j++) b[k++]=a[i][j]; void fun(char a[], char b[], int n){ int i,k=0; for(i=0;a[i]!='';i++) if(i!=n) b[k++]=a[i]; b[k]=''; } (38)【参考答案】 void fun(int *w, int p, int n){ int x,j,ch; for(x=0;x<=p;x++) { ch=w[0]; for(j=1;j { w[j-1]=w[j]; } w[n-1]=ch; } } (39)【参考答案】 void fun(char(*s)[N],char *b){ int i,j,k=0; for(i=0;i for(j=0;j b[k++]=s[j][i]; b[k]='';} (40)【参考答案】 float fun(int n){ int i,s1=0; float s=0.0; for(i=1;i<=n;i++) {s1=s1+i; s=s+1.0/s1; } return s;} (41)【参考答案】 void fun(char *s, char t[]){ int i,j=0,n; n=strlen(s); for(i=0;i if(s[i]%2==0) { t[j]=s[i]; j++;} t[j]=''; i++; p++;} a[i]=''; }} void fun(char *ss) b[j++]=a[i]; {int i;for(i=0;ss[i]!='';i++) return j;if(i%2==1&&ss[i]>='a'&&ss[i]<='z') } }(42)【参考答案】 int fun(int a[], int n){ int i,j=1; for(i=1;i if(a[j-1]!=a[i]) a[j++]=a[i]; return j; }(43)【参考答案】 void fun(char *a, char *h,char *p){ int i=0; char *q=a; while(q { a[i]=*q;q++;i++;} while(q { if(*q!='*') { a[i]=*q; i++; } q++; } while(*q) { a[i]=*q;i++;q++;} a[i]='';}(44)【参考答案】 void fun(int a, int b, long *c){ *c=a%10+(b%10)*10+(a/10)*100+(b/10)*1000;}(45)【参考答案】 void fun(char *a, int n){ int i=0; int k=0; char *p,*t; p=t=a; while(*t=='*') {k++;t++;} if(k>n) { while(*p) { a[i]=*(p+k-n);(46)参考答案】 void fun(int a, int b, long *c){ *c=a/10+(b/10)*10+(a%10)*100+(b%10)*1000;}(47)【参考答案】 long fun(char *p){ long n=0; int flag=1; if(*p=='-') {p++;flag=-1;} else if(*p=='+') p++; while(*p!='') {n=n*10+*p-'0'; p++; } return n*flag;}(48)【参考答案】 int fun(int t){ int f0 = 0, f1 = 1, f; do { f = f0 + f1; f0 = f1; f1 = f; } while(f < t); return f;}(49)【参考答案】 double fun(STREC *a, STREC *b, int *n){ int i,j=0; double av=0.0; for(i=0;i av=av+a[i].s; av=av/N; for(i=0;i if(a[i].s *n=j; return av; }(50)【参考答案】 ss[i]=ss[i]-32;} (51)【参考答案】 void fun(int a, int b, long *c){ *c=b/10+(a%10)*10+(b%10)*100+(a/10)*1000;} (52)【参考答案】 void fun(char *a,int n){ int i=0,k=0; char *p, *t; p=t=a; while(*t) t++; t--; while(*t=='*') {k++;t--;} if(k>n) {while(*p&&p { a[i]=*p; i++;p++; } a[i]=''; } } (53)【参考答案】 void fun(int a, int b, long *c){ *c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;} (54)【参考答案】 void fun(int a, int b, long *c){ *c=b%10+(a%10)*10+(b/10)*100+(a/10)*1000;} (55)【参考答案】 int fun(STREC *a,STREC *b,int l, int h){ int i,j=0; for(i=0;i if(a[i].s>=l&&a[i].s<=h) (56)【参考答案】 void fun(char *s, char t[]){ int i=0; for(;*s!='';s++) if(*s%2==1) t[i++]=*s; t[i]=''; } (57)【参考答案】 fun(STU a[], STU *s){ int i; *s=a[0]; for(i=0;i if(s->s *s=a[i];} (58)【参考答案】 void fun(int a[ ][N], int n){ int i,j; for(i=0;i for(j=0;j<=i;j++) a[i][j]=a[i][j]*n;} (59)【参考答案】 double fun(STREC *a, STREC *b, int *n){ int i,j=0; double av=0.0; for(i=0;i av=av+a[i].s; av=av/N; for(i=0;i if(a[i].s *n=j; return av; } (60)【参考答案】 void fun(int tt[M][N],int pp[N]){ int i,j,max;for(j=0;j max=tt[0][j]; for(i=0;i if(tt[i][j]>max) max=tt[i][j]; pp[j]=max; } }(61)【参考答案】 unsigned fun(unsigned w){ int n=1,j,s=1;unsigned t;t=w; while(t>=10){t=t/10;n++;} /*求10的n-1次方*/ for(j=1;j while(i<(n+1)/2){ ch=s[i]; s[i]=s[m]; s[m]=ch;i++;m--;} }(64)【参考答案】 void fun(char *s,int num){ char ch; int i, j; for(i = 1;i < 6;i++) for(j = i + 1;j < 6;j++) { if(*(s + i)< *(s + j)) { ch = *(s + j); *(s + j)= *(s +i); *(s + i)= ch;} } }(63)【参考答案】 void fun(char s[],int c){ int i=0; char *p; p=s; while(*p) { if(*p!=c) { s[i]=*p; i++;} p++; } s[i]='';}(65)【参考答案】 int fun(char *str, char *substr){ int i,j=0; for(i=0;str[i+1]!='';i++) if(str[i]==substr[0]&&str[i+1]==substr[1]) j++; return j; }(66)【参考答案】 int fun(int n){ int s=0,i; for(i=2;i<=n-1;i++) if(n%i==0) s+=i;return s;}(67)【参考答案】 double fun(int n) { double t,sn=1.0; int i,j; for(i=1;i<=n;i++) { t=1.0; for(j=1;j<=i;j++) t*=j; sn+=1.0/t; } return sn; }(68)【参考答案】 double fun(double x){ double s1=1.0,p=1.0,sum=0.0,s0,t=1.0;int n=1;do { s0=s1; sum+=s0; t*=n; p*=(0.5-n+1)*x; s1=p/t; n++; }while(fabs(s1-s0)>=1e-6);return sum; } (69)【参考答案】 double fun(double x[10]){ double x1=0.0,s=0.0; int i; for(i=0;i<10;i++) x1=x1+x[i]; x1=x1/10; for(i=0;i<10;i++) s=s+(x[i]-x1)*(x[i]-x1); return sqrt(s/10); } (70)【参考答案】 double fun(double x[9]) { double sum=0.0;int i,j=1;for(i=0;i<9;i++)if(j<=8) {sum+=sqrt((x[i]+x[i+1])/2.0); j++; } return sum; } (71)【参考答案】 double fun(int n) { int i; double s=0.0; for(i=1;i<=n;i++) s=s+(1.0/(2*i-1)-1.0/(2*i));/*计算S=(1-1/2)+(1/3-1/4)+(1/(2n-1)-1/2n)*/ return s; } (72)【参考答案】 double fun(int n){ double sum=0,tmp=1;int i; for(i=1;i<=n;i++){ tmp=tmp*i; sum+=1.0/tmp; } return sum; } (73)【参考答案】 double fun(int n) { int m,k,i; double s=0.0; for(m=3;m<=n;m++) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1) s+=sqrt(m); } return s; } (74)【参考答案】 double fun(int n) { int m,k,i; double s=0.0; for(m=3;m<=n;m++) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1) s+=sqrt(m); } return s; } 75)【参考答案】 double fun(int n){ int i; double s=0.0,s1=0.0; for(i=1;i<=n;i++) {s1=s1+pow(i,0.5); s=s+s1; } return s;} 76)【参考答案】 int fun(char *s){ int i,j=0; for(i=0;s[i]!='';i++) if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='')) j++; return j; } 77)【参考答案】 fun(STU a[], STU *s) return(float)t/100; } 82)void fun(int array[3][3]){ int i,j,t; for(i=0;i<3;i++) for(j=i+1;j<3;j++) {t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } int fun(char *str) { int i,n=0,fg=1; char *p=str; while(*p) { n++; p++; } 91)【参考答案】 int fun(int score[],int m, int below[]){ int i,j=0; float av=0.0; for(i=0;i av=av+score[i]/m; for(i=0;i if(score[i] for(i=0;i below[j++]=score[i]; { int i; *s=a[0]; for(i=0;i if(s->s>a[i].s) *s=a[i];} 78)【参考答案】 void fun(int a[][N], int m){ int i,j; for(j=0;j for(i=0;i<=j;i++) a[i][j]=a[i][j]*m;} 79)【参考答案】 double fun(int w[][N]){ int i,j,k=0; double av=0.0; for(i=0;i for(j=0;j if(i==0||i==N-1||j==0||j==N-1){av=av+w[i][j]; k++;} return av/k; } 80)【参考答案】 int fun(int a [M][N]) { int i,j,sum=0; for(i=0;i for(j=0;j sum=sum+a[i][j]; return sum; } 81)【参考答案】 float fun(float h) { long t; t=(h*1000+5)/10; /* } 83)【参考答案】 int fun(int lim, int aa[MAX]){ int i,j,k=0; for(i=2;i<=lim;i++) { for(j=2;j if(i%j==0)break; if(j>=i) aa[k++]=i; } return k; } 84)【参考答案】 char *fun(char(*a)[81], int num, char *max) { int i=0; max=a[0]; for(i=0;i if(strlen(max) max=a[i]; return max; } 85)【参考答案】 void fun(char *str) { int i=0; char *p=str; while(*p) { if(*p!=' ') { str[i]=*p;i++; } p++; } str[i]=''; } 86)【参考答案】 if(str[i]==str[n-1-i]); else { fg=0; break; } return fg; } 87)【参考答案】 void fun(int(*s)[10], int *b, int *n, int mm, int nn){ int i,j,k=0; for(i=0;i for(j=0;j b[k++]=s[i][j]; *n=k; } 88)【参考答案】 void fun(char *s, char t[]) { int i, j = 0; for(i = 0;i < strlen(s);i++) if(!((i % 2)==0 &&(s[i] % 2)))t[j++] = s[i]; t[j] = 0;} 89)【参考答案】 void fun(char *ss) { int i; for(i=0;ss[i]!='';i++) if(i%2==1&&ss[i]>='a'&&ss[i]<='z') ss[i]=ss[i]-32; } 90)void fun(int a, int b, long *c) { *c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10); } return j; } 92)【参考答案】 void fun(int x, int pp[], int *n){ int i,j=0; for(i=1;i<=x;i=i+2) if(x%i==0)pp[j++]=i; *n=j; } 93)【参考答案】 void fun(int m,int k,int xx[]){ int i,j,n; for(i=m+1,n=0;n {for(j=2;j if(i%j==0)break; if(j>=i) xx[n++]=i; } } 94)int fun(int *s,int t,int *k){ int i; *k=0; for(i=0;i if(s[*k] return s[*k]; } 95)long jc(int m){ long s=1; int i; for(i=1;i<=m;i++)s=s*i; return s;} float fun(int m, int n){ float p; p=1.0*jc(m)/jc(n)/jc(m-n); return p;} 96)double fun(int n) { double sum=0.0; int i; for(i=21;i<=n;i++) if((i % 3==0)&&(i % 7==0))sum+=i; return sqrt(sum);} 97)double fun(int n){ int i; double s=0.0; for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); return s;} 98)double fun(double x, int n){ int i; double s=1.0,s1=1.0; for(i=1;i<=n;i++) {s1=s1*i; s=s+pow(x,i)/s1; } return s;} 99)void fun(char *w,int m){ int i,j; char t; for(i=1;i<=m;i++) {t=w[0]; for(j=1;w[j]!='';j++) w[j-1]=w[j]; w[j-1]=t; } } 100)void fun(int *a, int *b){ int i,j; for(j=0;j b[j]=0; for(i=0;i if(a[i]>=100) b[10]++; else b[a[i]/10]++; double rnd(){ static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return((double)r/m);} int fun(char *s){ int n=0;char *p;for(p=s;*p!='';p++)if((*p>='0')&&(*p<='9')) n++;return n;} 102 int fun(int *s, int x){ int i;for(i=0;i if(x==s[i])return i;return-1;} 103void fun(char *a , char *s){ while(*s!=''){ *a=*s; a++; s++;} *a='';} long fun(char *s) { int i,sum=0,len; len=strlen(s); for(i=0;i { sum=sum*10+*s-48; s++; } return sum;} double fun(double a[ ] , int n) { double sum=0,max,min;int i; max=min=a[0]; for(i=0;i { sum=sum+a[i]; if(max if(min>a[i])min=a[i]; } sum=sum-max-min; return(sum/(n-2));} 全国计算机二级C语言考试上机题型总汇 (一)关于“******”问题 1、将字符串中的前导*号全部删除,中间和后面的*号不删除。void fun(char *a){ char *p=a;while(*p= =’*’)p++;for(;*p!=’’;p++,a++)*a=*p;*a=’’;} 2、只删中间* int i;for(i=0;a[i]= =’*’;i++)for(;h 3、只删尾* while(*a!=’’)a++;a--;while(*a= =’*’)a--;*(a+1)=’’; 4、只留前* int i , j=0;for(i=0;a=’*’;i++);j=i;for(;a;i++)if(a!=’*’)a[j++]=a[i];a[j]=’’; 5、只留中间* int i,j=0;for(i=h;i 6、只留尾* char *t=a;for(;t<=p;t++)if(*t!=’*’)*(a++)=*t;for(;t!=’’;t++)*(a++)=*t;*a=’’; 7、*个数>n个,删多余的*;*个数<=n个,不做任何处理。int i=0, k=0;char *p,*t;p=t=a;while(*t= =’*’){ k++;t++;} if(k>n){ while(*p){a[i]=*(p+k-n);i++;p++} a[i]=’’;} (二)移动问题 1、若一维数组中有n个整数,要求把下标从p到n-1(p<=n-1)的元素平移到数组前面。int i,j,t;for(i=p;i<=n-1;i++){ t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;} 2、把下标从0到p(p<=n-1)的元素平移到数组最后。int i,j,t;for(i=0;i<=p;i++){ t=w[0];for(j=1;j 3、把字符串str中的字符向前移动,原来第1个字符放串尾,结果仍保存在原串中。ch=str[0];for(i=0;str[i+1];i++)str[i]=str[i+1];str[i]=ch; 4、移动字符串中的内容,把第1到第m个字符平移到串后,把第m+1到后移到前。void fun(char *w, int m){ int i, j;char t;for(i=1,i<=m;i++){ t=w[0];for(j=1;w[j]!=’’;j++)w[j-1]=w[j];w[j-1]=t;} } (三)排序法 1、冒泡法 for(i=1;i 2、选择法 for(i=0;i 3、插入法 for(i=1;i (四)Fibonacci问题 1、求Fibonacci数列中小于t的最大的一个数,结果由函数返回。int fun(int t){ int a=1,b=1,c=0,i;do { c=a+b;a=b;b=c;}while(c 2、用递归算法计算数列中第n项的值。long fun(int g){ swich(g){ case 0:return 0;switch(g)case1:case2:return 1;} return(fun(g-1)+fun(g-2));}(五)素数问题 1、将大于整数m且紧靠m的k个非素数存入所指的数组中。void fun(int m,int k,int xx[]){ int i,j,n;for(i=m+1,n=0;n 2、小于或等于lim的所有素数放在aa数组中,该函数返回所求出的素数个数。int fun(int lim, int aa[MAX]){ int i,j,k=0;for(i=2;i<=lim;i++){ for(j=2;j=i)aa[k++]=i;} return k;} 3、将所有大于1小于整数m的非素数存入xx数组中,个数通过k传回。void fun(int m,int *k,int xx[]){ int i,j,n=0;for(i=4;i {int i, j,t,n=0;for(i=2;i (六)删除相同数 int fun(int a[],int n){ int i, j=1;for(i=1;i { int i,t,j=0;t=a[0];for(i=1;i (七)统计字符个数,单词个数。 1、按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。 void fun(char *tt, int num[]){ int i, j;int bb[10];char *p=tt;for(i=0;i<10;i++){ num[i]=0;bb[i]=0;} while(*p){ if(*p>=’0’&&*p<=’9’)bb[*p-‘0’]++;p++;} for(i=1,j=0;i<10;i=i+2,j++)num[j]==bb[i];} 2、str全部由小写字母和空格字符组成的字符串,num传入字符串长度。统计单词个数。void fun(char *s, int *num){ int I, n=0;for(i=0;i<*num;i++){ if(s[i]>=’a’&&ss[i]<=’z’&&(s[i+1]= =’’|| s[i+1]==’0’))n++;} *num=n;} 3、从’a’到’z’统计一个字符串中所有字母字符各自出现的次数,结果存在数组alf中。void fun(char *tt, int alf[]){ int i;char *p=tt;for(i=0;i<26;i++)alf[i]=0;while(*p){ if(*p>=’A’&&*p<=’Z’)*p+=32;if(*p>=’a’&&*p<=’z’)alf[*p-‘a’]++;p++;} } 4、str字符序列由字符0和1组成。查找0字符连续出现的最长长度,若有几个0字符长度相同,只记录最后1个0字符串相关信息,通过m和k返回最长0字符长度和其下标。void fun(char *str, int *m, int *k){ int i, j=0;int bb[N];char *p=str;*m=0;*k=0;for(i=0;i 5、统计在tt字符串中”a”到”z”26个字母各自出现的次数,并依次放在pp所指数组中。void fun(char *tt,int pp[]){ int i;for(i=0;i<26;i++)pp[i]=0;for(;*tt!=’’;tt++)if(;*tt>=’a’&&*tt<=’z’)pp[*tt-’a’]++;} 6、统计一个长度为n的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr){ int n;char *p,*r;n=0;while(*str){ p=str;r=substr;while(*r)if(*r==*p){r++;p++;} else break;if(*r==’’)n++;str++;} return n;} 7、求出ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss, char c){ int i=0;for(;*ss!=’’;ss++)if(*ss==c)i++;return i;} 8、统计一个长度为2的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr){ int i,j=0;for(i=0;str[i+1]!=’’;i++)if(str[i]==substr[0]&&str[i+1]==substr[1])j++;return j;} (八)进制转换 1、把str字符串转换成任意进制的数。int fun(char *str, int x, int y){ int sum;int i=0;char *p=str;for(i=0;i :原进制;y:要转换成的进制。x while(sum!=0){ xx[i]=sum%y;sum=sum/y;i++;} return i;} 注: (1)将x转换成10进制:sum=sum*x+*p-‘0’;(2)将10进制转换成y: sum%y 得到y进制数的最低位。sum/y 得到y进制数的次低位。 2、str字符串由‘0’和‘1’组成。转换成十进制数。int fun(char *str){ int n;char *p=str;n=*p-‘0’;p++;while(*p){ n=n*2+*p-‘0’;p++;} return n;} (九)比较字符串长度 1、比较两个字符串的长度,函数返回较短的字符串。char *fun(char *s, char *t){int i,j;for(i=0;s[i]!=’’;i++);for(j=0;t[j]!=’’;j++);if(i<=j)return s;else return t;} 2、从传入的num个字符中找出最长的一个字符串,通过形参指针max传回该串地址。fun(char(*a)[81], int num,char *max){ int i=0;max=a[0];for(i=0;i (十)最大公约数,最小公倍数 1、int fun(int a, int b){ int r,t;if(a 2、输入两整数m和n,求最大公约数,最小公倍数。while(b!=0){t=a%b;a=b;b=t;} printf(“%d”,”%d”,a, n*m/a);注: (1)最大公约数:若b/a的非零余数能整除a。(2)最小公倍数:两数乘积除以最大公约数。 工作感受心得 我是体育部的部委李盟,在加入我们学校学生会体育部不久后加入前湖礼仪工作组,担任出礼仪的工作.在我出礼仪工作的工程中,收获很多,体会也很多 ,丰富了我在学生会的工作经验,同时也更加丰富了我在学生时代的人生经验,收获的不只是在学生会工作的工作经验,也有在以后到社会上工作的经验.有的人认为出礼仪的工作只是穿着西装站在那里,笔直的站着,但其实不是那样的.但是那样确是我们礼仪工作人员的基本要求.我们既然是出礼仪就要有当礼仪的样子.表现出你文明礼貌的一面.首先,你的形象,便反映出你对他人的尊敬.因而你的衣着要整洁,干净,领带要打正,穿西装的时候要穿深色的袜子,工作证要正戴在你的胸前........等等一些关于个人衣着的基本要求.接着就是要战好,欢迎前来的领导,老师,同学,这是我们体会最深的一个过程,就好象军训的时候站军姿一样,要笔直的站好体现出你的精神面貌,不可以东歪西晃,不可以有小动作,面部表情自然.这一站少的二十,三十分钟,多了就一两个小时,甚至有人站了六个小时一动不动,那种痛楚是可以想象到的.这是就考验我们个人的定力与毅力的时候了.我们被选出来参加礼仪工作,这既是一种荣誉,同时也是一份责任,甚至可以说这个时候,你不单是代表你个人,从某种程度上来说更加代表了我们学生会的工作人员的精神面貌.因此我们的坚持是必须的更加是值得的.我们的工作不单单是只有在入场和撤场的时候站在那里欢迎大家的到来和离开,再忙完了站岗后,我们有时还要担任维护现场秩序的职责.有时后来了好多人,在会上如果你讲一句,他讲一句即使是在讲的好的时候的喝彩也会使会场很乱,演讲的人可能会因为他人的不礼貌之处而受到影响.这时候就要我们出来维护现场的秩序,我们一定秉着公正的原则,用礼貌的方式去来维护现场的秩序,不能因为我和谁认识就庇护他,也不能因为他上级就畏惧他.有的时候有些人的反映方式会很难让人接受,我们仍然会礼貌的去告诉他因为我们是礼仪工作人员我们是学生会的工作人员,我们的目的就是为同学服务.在我工作的这几次的经历中,带给我的除了汗水,充实的感觉外,更多的是工作的宝贵的经验和我做事的原则.我很荣幸能够加入这一个工作队伍,带给我太多太多.那些宝贵的经验都将是我以后工作时宝贵财富,做事的指导.感谢这一平台所带给我的一切. 2009春上机试题1(编程) 程序功能:找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数,例如,p=5, Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数.【编程要求】 1.编写函数void Mersenne(long a[ ],int m),其功能是求出前m个默森尼数并以此将它们保存到a指向的数组中,2.编写main函数,调用Mersenne函数并保存前7个默森尼数,将运行结果输出到屏幕及结果文件myf2.out中,最后将考生的考号也保存到结果文件myf2.out中 【测试数据与运行结果】 37311278191***7 2009春上机试题2(编程) 用一组整数验证命题,任意一个百位数字与个位数字不同的三位正整数n1在经过以下操作后一定会变换到1089:将n1的百位数与个位数字交换得到n2,求n1和n2差的绝对值得到n3,将n3的百位数字与个位数字交换得到n4;求n3与n4的和得到n5,n5一定是1089,若n1、n3是一位数或两位数,则在高位补0使其成为三位数 例如:n1:123,n2:321,n3:198(321,-123),n4:891,n5:1089(198+891) 【编程要求】 1.编写函数int fun(int a[ ],int b[ ], int n),其功能是用n指向数组的前n个整数验证上述命题,将所有符合命题的整数所在数组元素的下标依次保存到b指向的数组中,函数返回b数组中数据的个数 2.编写main函数,声明a数组并用测试数据初始化,用a数组作为实参调用fun函数,将a数组中所有符合命题的整数输出到屏幕及结果文件myf2.out中,最后将考生本人的准考证号字符串也保存到结果文件myf2.out中 【测试数据与运行结果】 测试数据:123765***31676963589 运行结果:12376514567 程序填空题: 给定程序中,函数fun的作用是: 注意:部分源程序在文件BLANK.C中。不得增行或删行,也不得更改程序的结构! 源程序如下 答案: (1)x[i]<=’9’(2)j++(3)‘’ 程序修改题: 给定程序中,函数fun的作用是:已知正整数n(规定n小于50000),统计它包含的0的个数,以及各位上最大的数。最大的数通过函数返回,0的个数通过形参传回。 注意:部分源程序在文件MODI1.C中。 不要改动main函数,不得增行或删行,也不得更改程序的结构! 源程序如下 答案: t=0改为t==0 zero=count;改为*zero=count; 程序设计题: 请编写一个函数fun,它的功能是:比较一个数组中奇数的个数与偶数的个数,并计算个数多的数的算术平均数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 答案:第二篇:计算机二级C语言上机题型总结
第三篇:二级C语言上机题库_南开100题
第四篇:2009春江苏省计算机二级C语言上机(编程)
第五篇:2018年3月二级C语言上机题库及答案
未来教育版的计算机二级c语言上机题库2012年的
本文2025-01-28 22:06:22发表“合同范文”栏目。
本文链接:https://www.wnwk.com/article/202889.html
- 二年级数学下册其中检测卷二年级数学下册其中检测卷附答案#期中测试卷.pdf
- 二年级数学下册期末质检卷(苏教版)二年级数学下册期末质检卷(苏教版)#期末复习 #期末测试卷 #二年级数学 #二年级数学下册#关注我持续更新小学知识.pdf
- 二年级数学下册期末混合运算专项练习二年级数学下册期末混合运算专项练习#二年级#二年级数学下册#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
- 二年级数学下册年月日三类周期问题解题方法二年级数学下册年月日三类周期问题解题方法#二年级#二年级数学下册#知识分享 #关注我持续更新小学知识 #家长收藏孩子受益.pdf
- 二年级数学下册解决问题专项训练二年级数学下册解决问题专项训练#专项训练#解决问题#二年级#二年级数学下册#知识分享.pdf
- 二年级数学下册还原问题二年级数学下册还原问题#二年级#二年级数学#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
- 二年级数学下册第六单元考试卷家长打印出来给孩子测试测试争取拿到高分!#小学二年级试卷分享 #二年级第六单考试数学 #第六单考试#二年级数学下册.pdf
- 二年级数学下册必背顺口溜口诀汇总二年级数学下册必背顺口溜口诀汇总#二年级#二年级数学下册 #知识分享 #家长收藏孩子受益 #关注我持续更新小学知识.pdf
- 二年级数学下册《重点难点思维题》两大问题解决技巧和方法巧算星期几解决周期问题还原问题强化思维训练老师精心整理家长可以打印出来给孩子练习#家长收藏孩子受益 #学霸秘籍 #思维训练 #二年级 #知识点总结.pdf
- 二年级数学下册 必背公式大全寒假提前背一背开学更轻松#二年级 #二年级数学 #二年级数学下册 #寒假充电计划 #公式.pdf


