最新最全二级c语言上机题105套参考答案Word文件下载.docx
《最新最全二级c语言上机题105套参考答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新最全二级c语言上机题105套参考答案Word文件下载.docx(72页珍藏版)》请在冰点文库上搜索。
inti=0;
for(;
*ss!
ss++)
if(*ss==c)
i++;
returni;
第3套参考答案
(1)&
(2)0或者‘\0’(3)s[j]或*(s+j)
(1)将<
改为<
=for(i=2;
i<
=m;
i++)
(2)将1改为1.0y+=1.0/(i*i);
y+=(double)1/(i*i);
voidfun(inta[3][3],intb[3][3])
3;
for(j=0;
b[i][j]=a[i][j]+a[j][i];
第4套参考答案
(1)s[i]
(2)‘9’(3)*t=n
(1)t=*x;
*x=y;
(2)returnt;
voidfun(int*a,int*n)
inti,k=0;
for(i=1;
1000;
if(((i%7==0)||(i%11==0))&
(i%77!
=0))
a[k++]=i;
*n=k;
第5套参考答案
(1)1
(2)s[k]或*(s+k)(3)c
(1)longs=0,t=0;
(2)t=t/10;
voidfun(char*tt,intpp[])
inti;
for(i=0;
26;
pp[i]=0;
tt[i]!
a'
)&
z'
))
pp[tt[i]-'
]++;
}//tt[i]可以用*tt代替,i++可以用tt++代替,省略i=0
第6套参考答案
(1)t=i;
(2)i(3)‘\0’或者0
(1)while(fabs(t)>
=num)
(2)t=s/n;
voidfun(chara[],charb[],intn)
inti,j=0;
a[i]!
=0;
if(i!
=n)
b[j++]=a[i];
b[j]='
第7套参考答案
(1)‘\0’
(2)0(3)c
(1)doublesum=0.0;
(2)sum/=c;
floatfun(intn)
inti,t=0;
floats=0.0;
=n;
t=t+i;
s=s+1.0/t;
returns;
第8套参考答案
(1)i++
(2)m(3)m
(1)while((high>
=2)&
(n<
10))//丢了括号
(2)break;
//丢了分号
doublefun()
doublex1=0.0,x0;
do
x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>
=0.000001);
returnx1;
第9套参考答案
(1)N
(2)N-1(3)0
(1)s=s+(double)(n+1)/n
(2)returnt;
intfun(intt)
intf0=0,f1=1,f;
f=f0+f1;
f0=f1;
f1=f;
}while(f<
t);
returnf;
第10套参考答案
(1)0
(2)j--(3)j
(1)doublef(doublex)
(2)returns;
doublefun(intm)
doubles=0.0,t=0.0;
inti;
t=t+log(i);
s=sqrt(t);
第11套参考答案
(1)N
(2)t[i][j](3)t[j][i]
(1)(m)/(n)
(2)value
voidfun(char*a)
char*p=a;
inti=0;
while(*p!
&
*p=='
*'
)
{
p++;
}
while(*p!
a[i++]=*p;
a[i]='
另一种解法,用指针
while(*p=='
)p++;
for(;
*p!
p++,a++)
*a=*p;
*a='
第12套参考答案
(1)t[][N]
(2)i=0;
N;
(3)s
(1)intfun(…)
(2)elseif(m>
a[mid])
voidfun(char*a,char*p)
char*t=a;
for(;
t<
=p;
t++)
if(*t!
a[i++]=*t;
*t!
a[i++]=*t;
另一种用指针
*(a++)=*t;
*(a++)=*t;
*a='
第13套参考答案
(1)sum=0;
(2)t[i][i](3)1
(1)doubler;
(2)while(fabs(n-m)>
0.001)
voidfun(char*a,char*h,char*p)
char*q=a;
while(q<
h)
{a[i]=*q;
i++;
q++;
=p)
if(*q!
a[i]=*q;
while(*q)
{a[i]=*q;
a[i]=0;
第14套参考答案
(1)1
(2)j++(3)j
(1)t=a;
a=b;
b=t;
(2)returnb;
char*p=a;
while(*p)
if(*p!
另一种用for循环
inti,j=0;
a[i]!
=\0’;
if(a[i]!
a[ij++]=a[i];
a[j]=0;
第15套参考答案
(1)a[i]%2==0
(2)a[j](3)j
(1)intfun(intn)
(2)if(n==1)
voidfun(char*a,intn)
inti=0,j=0;
char*p=a,*q=a;
while(*p)
p--;
while(*p=='
p--;
if(i>
n)
while(*q&
q<
(p+n+1))
a[j++]=*q;
a[j]=’\0’;
第16套参考答案
(1)a[i]
(2)a[j](3)a[j]
(1)去掉分号
(2)case1:
case2:
return1;
voidfun(STREC*a)
doublesum=0.0,average;
sum=sum+a->
s[i];
average=sum/N;
a->
ave=average;
第17套参考答案
(1)a[]
(2)2(3)i+1
(1)sum=0.0
(2)if((i+1)%5==0)
doublefun(STREC*a,STREC*b,int*n)
doublesum=0.0,ave;
sum=sum+a[i].s;
ave=sum/N;
if(a[i].s<
ave)
//结构体整体赋值
*n=j;
returnave;
第18套参考答案
(1)1
(2)i(3)a[p+i]
(1)floatk;
(2)if(*a<
*c)
intfun(STREC*a,STREC*b)
intmax,i,j=0;
max=a[0].s;
if(a[i].s>
max)
max=a[i].s;
if(a[i].s==max)
returnj;
第19套参考答案
(1)char
(2)ch=’9’(3)‘0’
(1)b[k]=*p
(2)b[k++]=“”;
或者b[k]=”“;
k++;
doublefun(STREC*h)
doublesum=0,ave;
STREC*p=h->
next;
while(p!
=NULL)
sum=sum+p->
s;
p=p->
ave=sum/N;
第20套参考答案
(1)n/2
(2)i(3)a[n-1-i]
(1)n=*-‘0’
(2)n=n*8+p-‘0’;
STRECfun(STREC*a,char*b)
STRECstr={"
\0"
-1};
16;
if(strcmp(a[i].num,b)==0)
str=a[i];
returnstr;
第21套参考答案
(1)999
(2)t/10(3)x
(1)voidfun(longs,long*t)
(2)while(s>
0)
voidfun(STRECa[])
inti,j,k;
STRECt;
N-1;
k=i;
for(j=i+1;
if(a[j].s>
a[k].s)
k=j;
if(k!
=i)
{t=a[i];
a[i]=a[k];
a[k]=t;
第22套参考答案
(1)0
(2)x(3)t++
(1)inti,s1;
(2)s[s1-i-1]
voidfun(inta,intb,long*c)
*c=(a/10)*100+(a%10)*1+(b/10)*1000+(b%10)*10;
第23套参考答案
(1)0
(2)x*10(3)n/10
(1)*t=0;
(2)if(d%2==1)
voidfun(charp1[],charp2[])
p1[i]!
;
for(j=0;
p2[j]!
p1[i+j]=p2[j];
p1[i+j]='
第24套参考答案
(1)1
(2)s>
0(3)i*10
(1)intfun(intn,intxx[][M])
(2)printf("
%d"
xx[i][j]);
*c=(a/10)*1000+(a%10)*10+(b/10)*1+(b%10)*100;
第25套参考答案
(1)0.0
(2)n(3)(t*t)
(1)for(i=0;
str[i]!
i++)
(2)if(substr[k+1]=='
doublefun(doubleeps)
doubles=1,p1=1,p2=1,t=1;
inti=1;
while(t>
eps)
p1=p1*i;
p2=p2*(2*i+1);
t=p1/p2;
s=s+t;
return2*s;
第26套参考答案
(1)10
(2)0(3)x
(1)if(n==0)
(2)result=result*(n--);
orresult*=n--;
longfun(char*p)
longn=0;
intflag=1,m;
if(*p=='
-'
flag=-1;
elseif(*p=='
+'
=0)
m=*p-'
0'
n=n*10+m;
n=flag*n;
第27套参考答案
(1)(double)(2*k+1)or(double)3
(2)>
(3)(t+1)
(1)doublefun(intn)//教材没错,原题是void
(2)s=s+(double)a/b;
intfun(inta[][M])
inti,j,max;
max=a[0][0];
2;
M;
if(a[i][j]>
max=a[i][j];
returnmax;
第28套
(1)1
(2)i*2(3)-1
(1)k++;
//丢了分号
(2)if(m==k)
voidfun(inta[],intn,int*max,int*d)
*max=a[0];
*d=0;
for(i=1;
n;
if(a[i]>
*max)
{*max=a[i];
*d=i;
}
第29套
(1)0
(2)i++((2.0*i)*(2.0*i))
(1)voidfun(char*s,char*t)
(2)t[2*d]='
voidfun(char*s,chart[])
inti,j=0,n;
n=strlen(s);
if(i%2!
=0&
s[i]%2!
t[j++]=s[i];
t[j]='
第30套
(1)s[i]
(2)k(3)‘\0’
(1)while(*w)//原题无*
(2)if(*r==*p)
inti,j=0,n;
n=strlen(s);
if(s[i]%2==0)
t[j++]=s[i];
t[j]=0;
第31套参考答案
(1)k
(2)N(3)a[k][i]
(1)for(i=strlen(t)-1;
i--)//教材正确
(2)if(t[j]>
t[j+1])
voidfun(char*ss)
inti,j,n;
n=strlen(ss);
if(i%2==1&
ss[i]>
ss[i]<
ss[i]=ss[i]-32;
第32套参考答案
(1)k
(2)N-1(3)temp
(1)voidfun(inta[][M],intm)
(2)a[j][k]=(k+1)*(j+1);
*c=(a/10)*10+(a%10)*1000+b/10+(b%10)*100;
第33套参考答案
(1)j
(2)0(3)i++
(1)for(i=2;
i<
=m;
i++)
(2)y-=1.0/(i*i);
intfun(intscore[],intm,intbelow[])
doublesum=0.0,ave;
inti,j=0;
sum=sum+score[i];
ave=sum/m;
if(score[i]<
below[j++]=score[i];
returnj;
第34套参考答案
(1)t,s
(2)s[i](3)‘\0’
(1)if(i%k==0)
(2)if(k==i)
voidfun(intx,intpp[],int*n)
x;
if(x%i==0&
i%2==1)
pp[j++]=i;
*n=j;
第35套参考答案
(1)s
(2)--(3)return0
(1)doublefun(intn)
(2)s=s+(double)a/b;
voidfun(intm,intk,intxx[])
inti,j;
m=m+1;
j=0;
while(j<
k)
{for(i=2;
if(m%i==0)
break;
if(m==i)
xx[j]=i;
j++;
m++;
另一种用for循环编写的
inti,j,n;
for(i=m+1,n=0;
n<
k;
{for(j=2;
if(i%j==0)
if(i==j)xx[n++]=i;
第36套参考答案
(1)n++
(2)0(3)s++
(1)t=t+s[k];
ort+=s[k]
(2)*aver=ave;
intfun(int*s,intt,int*k)
inti,max;
max=s[0];
*k=0;
t;
if(s[i]>
{*k=i;
max=s[i];
第37套参考答案
(1)*s
(2)s++(3)n
(1){//丢了函数的括号
(2)if(x[j]>
=xa)//不是=>
floatfun(intm,intn)
inti,j,k,t;
floatp1=1,p2=1,p3=1;
floatp;
if(m<
{t=m;