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

时间:2019-05-14 19:20:04下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《未来教育版的计算机二级c语言上机题库2012年的》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《未来教育版的计算机二级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(maxs)max=h->s;

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语言上机题型总结

全国计算机二级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;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=a[j];}

2、选择法

for(i=0;ia[j])p=j;if(p!=i)t=a[i];a[i]=a[p];a[p]=t;}

3、插入法 for(i=1;it&&j>=0;j--)a[j+1]=a[j];a[j+1]=t;}

(四)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)最小公倍数:两数乘积除以最大公约数。

第三篇:二级C语言上机题库_南开100题

工作感受心得

我是体育部的部委李盟,在加入我们学校学生会体育部不久后加入前湖礼仪工作组,担任出礼仪的工作.在我出礼仪工作的工程中,收获很多,体会也很多 ,丰富了我在学生会的工作经验,同时也更加丰富了我在学生时代的人生经验,收获的不只是在学生会工作的工作经验,也有在以后到社会上工作的经验.有的人认为出礼仪的工作只是穿着西装站在那里,笔直的站着,但其实不是那样的.但是那样确是我们礼仪工作人员的基本要求.我们既然是出礼仪就要有当礼仪的样子.表现出你文明礼貌的一面.首先,你的形象,便反映出你对他人的尊敬.因而你的衣着要整洁,干净,领带要打正,穿西装的时候要穿深色的袜子,工作证要正戴在你的胸前........等等一些关于个人衣着的基本要求.接着就是要战好,欢迎前来的领导,老师,同学,这是我们体会最深的一个过程,就好象军训的时候站军姿一样,要笔直的站好体现出你的精神面貌,不可以东歪西晃,不可以有小动作,面部表情自然.这一站少的二十,三十分钟,多了就一两个小时,甚至有人站了六个小时一动不动,那种痛楚是可以想象到的.这是就考验我们个人的定力与毅力的时候了.我们被选出来参加礼仪工作,这既是一种荣誉,同时也是一份责任,甚至可以说这个时候,你不单是代表你个人,从某种程度上来说更加代表了我们学生会的工作人员的精神面貌.因此我们的坚持是必须的更加是值得的.我们的工作不单单是只有在入场和撤场的时候站在那里欢迎大家的到来和离开,再忙完了站岗后,我们有时还要担任维护现场秩序的职责.有时后来了好多人,在会上如果你讲一句,他讲一句即使是在讲的好的时候的喝彩也会使会场很乱,演讲的人可能会因为他人的不礼貌之处而受到影响.这时候就要我们出来维护现场的秩序,我们一定秉着公正的原则,用礼貌的方式去来维护现场的秩序,不能因为我和谁认识就庇护他,也不能因为他上级就畏惧他.有的时候有些人的反映方式会很难让人接受,我们仍然会礼貌的去告诉他因为我们是礼仪工作人员我们是学生会的工作人员,我们的目的就是为同学服务.在我工作的这几次的经历中,带给我的除了汗水,充实的感觉外,更多的是工作的宝贵的经验和我做事的原则.我很荣幸能够加入这一个工作队伍,带给我太多太多.那些宝贵的经验都将是我以后工作时宝贵财富,做事的指导.感谢这一平台所带给我的一切.

第四篇:2009春江苏省计算机二级C语言上机(编程)

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

第五篇:2018年3月二级C语言上机题库及答案

程序填空题:

给定程序中,函数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语言上机题库2012年的word格式文档
下载未来教育版的计算机二级c语言上机题库2012年的.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    计算机等级考试二级C语言上机改错题考点汇总[推荐阅读]

    计算机等级考试二级C语言上机改错题考点汇总 青年人网站小编发现很多考生对上机考试存在很大的问题,现在小编将在教学当中对二级C语言上机考试题库总结的经验和大家分享,希望......

    二级C语言上机题做法小结

    二级C语言上机题做法小结 陈忠权 记 一.天空题。 1.如果是填函数的返回值,去看return返回值的类型,就是函数的返回类型。如果return找不到,就看函数的调用。 2.在for语句中,如 fo......

    C语言二级上机考试要点总结

    具有三种题型:程序填空、程序修改和程序设计,其中程序填空30分,程序修改30分,程序设计40分。[1]从以往的机试的情况来看,许多考生在程序设计题目上失分比较严重,而程序设计题占总......

    二级C语言上机考试改错题总结

    二级C语言上机考试改错题总结 根据本人多年研究全国计算机等级考试二级若错误行中有整数1除以某个表达式或变量时,必C语言,发现很多考生对上机考试存在很大的问须把整数1改为1......

    计算机二级c语言试题及答案

    计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的......

    2011年计算机等级考试二级C语言上机题库(含答案)(精选五篇)

    认识实习报告 9月初,我们先前往了山东威海滨田印刷机械有限公司进行认识实习。此后我们又去了一家大型零件加工厂进行了参观。 通过这次的实习,我们了解到机械行业第一线的一......

    C语言上机练习题

    上机练习题 1. 输入一个不超过五位的正整数,输出其逆数。例如输入,输出应为54321。 /* Note:Your choice is C IDE */ #include "stdio.h" main { long n; int ww,qw......

    c语言上机实验报告

    C语言上机实验报告 2160500146 计算机66马俊松 在本学期,共进行了大约五次上机,完成了数十道编程题,现将在完成作业过程中所遇到的问题以及解决过程进行如下几点总结,并提出几点......