最新二级C语言上机题库100题答案1.docx

上传人:b****5 文档编号:12374571 上传时间:2023-04-18 格式:DOCX 页数:90 大小:35.11KB
下载 相关 举报
最新二级C语言上机题库100题答案1.docx_第1页
第1页 / 共90页
最新二级C语言上机题库100题答案1.docx_第2页
第2页 / 共90页
最新二级C语言上机题库100题答案1.docx_第3页
第3页 / 共90页
最新二级C语言上机题库100题答案1.docx_第4页
第4页 / 共90页
最新二级C语言上机题库100题答案1.docx_第5页
第5页 / 共90页
点击查看更多>>
下载资源
资源描述

最新二级C语言上机题库100题答案1.docx

《最新二级C语言上机题库100题答案1.docx》由会员分享,可在线阅读,更多相关《最新二级C语言上机题库100题答案1.docx(90页珍藏版)》请在冰豆网上搜索。

最新二级C语言上机题库100题答案1.docx

最新二级C语言上机题库100题答案1

1填空:

【1】j=0

【2】*(pf+j)-32

【3】j++

改错:

(1)错误:

{if(*p<=*q)

正确:

{if(*p>=*q)

(2)错误:

k++

正确:

k++;

编程:

voidfun(inta,intb,long*c)

{

*c=(b%10)*1000+(b/10)*100+(a%1

}

2填空:

【1】disc<0

【2】(-b+sqrt(disc))/(2*a)

【3】(-b-sqrt(disc))/(2*a)

改错:

(1)错误:

intj=1;

正确:

doublej=1.0;

(2)错误:

y+=1/(i*i);

正确:

y+=j/(i*i);

编程:

voidfun(inttt[M][N],intpp[N])

{

inti,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;

/*将各列的最大值依次放入pp数组中*/

}

}

3填空:

【1】n>0

【2】n%10+'0'

【3】str[i]=′\0′

改错:

(1)错误:

fun(intn);

正确:

fun(intn)

(2)错误:

if(n=1)

正确:

if(n==1)

编程:

intfun(char*s,intnum)

{chart;

inti,j;

for(i=1;i

/*下标值从1开始,用循环依次取

得字符串中的字符*/

for(j=i+1;j

/*将字符与其后的每个字符比较*/

if(s[i]>s[j])

/*如果后面字符的ASCII码值小于该

字符的ASCII码值*/

{t=s[i];

/*则交换这两个字符*/

s[i]=s[j];

s[j]=t;

}

}

4填空:

【1】xx[i]%10

【2】bb[n++]=xx[i]

【3】n

改错:

(1)错误:

intfun(intn)

正确:

doublefun(intn)

(2)错误:

result*=n++;

正确:

result*=n--;

编程:

doublefun(intn)

{doubles=0.0;

inti;

for(i=0;i

/*从0~n中找到既能被5整除同时

又能被11整除的数,并将这些数求和*/

if(i%5==0&&i%11==0)

s=s+i;

s=sqrt(s);

/*对s求平方根*/

returns;

}

5填空:

【1】(-b+sqrt(disc))/(2*a)

【2】-b/(2*a)

【3】sqrt(fabs(disc))/(2*a)

改错:

(1)错误:

longk=1;

正确:

longk=0;

(2)错误:

while(num)

正确:

while(num);

编程:

intfun(intt)

{

inta=1,b=1,c=0,i;

/*a代表第n-2项,b代表第n-1项,

c代表第n项*/

/*如果求得的数c比指定比较的数小,

则计算下一个Fibonacci数,

对a,b重新置数*/

do

{

c=a+b;

a=b;

b=c;

}

while(c

/*如果求得的数c比指定比较的数大时,

退出循环*/

c=a;

/*此时数c的前一个Fibonacci数为

小于指定比较的数的最大的数*/

returnc;

}

6填空:

【1】inta[][N]

【2】s/(n*n)

【3】sqrt(f)

改错:

(1)错误:

voidfun(chars,chart[])

正确:

voidfun(char*s,chart[])

(2)错误:

if(i%2=0||s[i]%2!

=0)

正确:

if(i%2==0||s[i]%2!

=0)

编程:

longfun(intn)

{

inti;

longs=0;

for(i=2;i<=n-1;i++)

/*从2~n-1中找n的所有因子*/

if(n%i==0)

s+=i*i;

/*将所有因子求平方加*/

returns;

/*将平方和返回*/

}

7填空:

【1】j--

【2】*(p2+n)='\0'

【3】*p2

改错题

(1)错误:

k=n;

正确:

k=i;

(2)错误:

s[j]=i;

正确:

s[j++]=i;

编程题

fun(inta[][N],intn)

{

inti,j;

for(i=0;i

for(j=0;j<=i;j++)

a[i][j]=a[i][j]+n;

}

8.填空题

【1】*p

【2】bb[*p-'0']++

【3】num[j]=bb[i]

【解析】填空1:

改错题:

(1)错误:

for(i=0;i

正确:

for(i=0;i<2;i++)

(2)错误:

k=m;

正确:

m=k;

编程题:

intfun(intscore[],intm,intup[])

{

inti,j=0;

floatav=0.0;

for(i=0;i

av=av+score[i]/m;

/*求平均值*/

for(i=0;i

if(score[i]>av)

/*如果分数高于平均分,则将此分数

放入up数组中*/

up[j++]=score[i];

returnj;

/*返回高于平均分的人数*/

}

9.填空题

【1】*p

【2】default:

b[10]++;

【3】p++;

.改错题

(1)错误:

ifhigh%j==0

正确:

if(high%j==0)

(2)错误:

if(yes==0)

正确:

if(yes

.编程题

voidfun(intx,intpp[],int*n)

{

inti,j=0;

for(i=2;i<=x;i=i+2)

/*i的初始值为2,步长为2,确保i

为偶数*/

if(x%i==0)

/*将能整除x的数存入数组pp中*/

pp[j++]=i;

*n=j;

/*传回满足条件的数的个数*/

}

10.填空题

【1】″%ld″,&n

【2】n=-n;

【3】″%ld″,n

.改错题

(1)错误:

intfun(chart[])

正确:

voidfun(chart[])

(2)错误:

t[j]=t[i++];

正确:

t[j]=t[i];

.编程题

voidfun(intm,intk,intxx[])

{

inti,j,n;

for(i=m+1,n=0;n

/*找大于m的非素数,循环k次,

即找出紧靠m的k个非素数*/

for(j=2;j

/*判断一个数是否为素数*/

if(i%j==0)

{

xx[n++]=i;

/*如果不是素数,放入数组xx中*/

break;

/*并跳出本层循环,判断下一个数*/

}

}

11.填空题

【1】″%s″,str1

【2】%c

【3】str2

.改错题

(1)错误:

while(x[i]==0)

正确:

while(x[i]!

=0)

(2)错误:

sum=sum\c;

正确:

sum=sum/c;

.编程题

intfun(int*s,intt,int*k)

{

inti;

*k=0;

/*k所指的数是数组的下标值*/

for(i=0;i

if(s[*k]>s[i])

*k=i;

/*找到数组的最小元素,把该元素

的下标赋给k所指的数*/

returns[*k];

/*返回数组的最小元素*/

}

12.填空题

【1】″%d″,&n

【2】str2[i]=str1[i];

【3】str2

.改错题

(1)错误:

if((s[i]>='A'&&s[i]<='Z')&&(s[i]>='a'&&s[i]<='z'))

正确:

if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))

(2)错误:

s[j]="\0";

正确:

s[j]='\0';

.编程题

intfun(inta[][N])

{

inti,j;

for(i=0;i

for(j=i;j

a[i][j]=0;

/*将数组右上半三角元素中的值

全部置成0*/

}

13.填空题

【1】n/100%10

【2】″yes!

【3】″no!

.改错题

(1)错误:

for(j=0;j

正确:

for(j=0;j

(2)错误:

a[p]=t;

正确:

a[j]=t;

.编程题

intfun(intw[][N])

{

inti,j,k=0;

ints=0;

for(i=0;i

for(j=0;j

if(i==0||i==N-1||j==||

j==N-1)

/*只要下标中有一个为0或N-1,

则它一定是周边元素*/

{s=s+w[i][j]*w[i][j];

/*将周边元素求平方和*/

}

returns;

/*返回周边元素的平方和*/

}

14.填空题

【1】xx[i]%10

【2】bb[n++]=xx[i]

【3】n

.改错题

(1)错误:

voidfun(charp)

正确:

voidfun(char*p)

(2)错误:

p=q+i;

正确:

q=p+i;

.编程题

doublefun(STREC*h)

{

doublemin=h->s;

while(h!

=NULL)

/*通过循环找到最低分数*/

{if(min>h->s)

min=h->s;

h=h->next;

}

returnmin;

}

15.填空题

【1】s[i]>=′0′&&s[i]<=′9′

【2】s[i]-′0′

【3】n

.改错题

(1)错误:

intave,t=0;

正确:

floatave,t=0.0;

(2)错误:

if(s[i]

正确:

if(s[i]>ave)

(3)错误:

aver=ave;

正确:

*aver=ave

.编程题

char*fun(char*s,char*t)

{

inti,j;

for(i=0;s[i]!

='\0';i++);

/*求字符串的长度*/

for(j=0;t[j]!

='\0';j++);

if(i<=j)

/*比较两个字符串的长度*/

returns;

/*函数返回较短的字符串,若两个字

符串长度相等,则返回第1个字符串*/

else

returnt;

}

16.填空题

【1】i<*num

【2】n++

【3】*num=n

【解析】填空1

.改错题

(1)错误:

intfun(intm)

正确:

doublefun(intm)

(2)错误:

for(i=1;i

正确:

for(i=2;i<=m;i++)

.编程题

voidfun(int*a,int*n)

{

inti,j=0;

for(i=1;i<=1000;i++)

/*求1到1000之内能被5或13整除、

但不能同时被5和13整除的所有整数,

并放入数组a中*/

if((i%5==0||i%13==0)&&

i%65!

=0)

a[j++]=i;

*n=j;

/*传回满足条件的数的个数*/

}

17.填空题

【1】bb[i]=0

【2】bb[5]++

【3】p++;

.改错题

(1)错误:

while(k>=2)&&(mc<6)

正确:

while((k>=2)&&(mc<6))

(2)错误:

if((k%7=0)||(k%11=0))

正确:

if((k%7==0)||(k%11==0))

(3)错误:

m=k;

正确:

m=m+k;

.编程题

voidfun(char*ss)

{

inti;

for(i=0;ss[i]!

='\0';i++)

/*将ss所指字符串中所有下标

为偶数位置的字母转换为小写*/

if(i%2==0&&ss[i]>='A'&&

ss[i]<='Z')

ss[i]=ss[i]+32;

}

18.填空题

【1】alf[i]=0

【2】*p+=32

【3】p++

.改错题

(1)错误:

intfun(longs,long*t)

正确:

voidfun(longs,long*t)

(2)错误:

s=s%100;

正确:

s=s/100;

.编程题

fun(inta[][M])

{

inti,j,min=a[0][0];

for(i=0;i<4;i++)

for(j=0;j

if(min>a[i][j])

min=a[i][j];

/*求出二维数组的最小值*/

returnmin;

}

19.填空题

【1】sum+=x[i]

【2】avg*1000

【3】(avg+5)/

.改错题

(1)错误:

for(i=0;j<3;j++)

正确:

for(j=0;j<3;j++)

(2)错误:

mul=mul*a[i][j];

正确:

mul=mul*a[i][i];

.编程题

intfun(STREC*a,STREC*b)

{

inti,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];

/*找出成绩与min相等的学生的记录,

存入结构体b中*/

returnj;

/*返回最低成绩的学生人数*/

}

20.填空题

【1】*(p1+i)

【2】*p2

【3】*p2++

.改错题

(1)错误:

charfun(chartt[])

正确:

char*fun(chartt[])

(2)错误:

if((tt[i]>='A')&&(tt[i]<='Z'))

正确:

if((tt[i]>='a')&&(tt[i]<='z'))

.编程题

voidfun(int*w,intp,intn)

{

inti,j,t;

for(i=p;i<=n-1;i++)

/*循环右移n-p次*/

{t=w[n-1];

for(j=n-2;j>=0;j--)

/*实现循环右移*/

w[j+1]=w[j];

w[0]=t;

}

}

21.填空题

【1】--I

【2】s[i]-′0′

【3】t*10+k

.改错题

(1)错误:

if(d%2!

=0)

正确:

if(d%2==0)

(2)错误:

t=d*s1+t;

正确:

*t=d*s1+*t;

.编程题

intfun(STRECa[])

{

inti,j;

STRECt;

for(i=1;i

/*用冒泡法进行排序,进行N-1次比较*/

for(j=0;j

/*在每一次比较中要进行N-1次两两

比较*/

if(a[j].s>a[j+1].s)

/*按分数的高低排列学生的记录,低分

在前*/

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

22.填空题

【1】inta[][N],intb[],intn

【2】b[i]

【3】b[i]

.改错题

(1)错误:

for(k=4;k

正确:

for(k=4;k<=n;k++)

(2)错误:

s2=s;

正确:

s2=s;}

.编程题

voidfun(intm,int*k,intxx[])

{

inti,j,t,n=0;

for(i=2;i

/*找出大于1小于整数m的素数*/

{

t=1;

for(j=2;j

if(i%j==0)

{

t=0;

break;

}

if(t==1)

xx[n++]=i;

}

*k=n;

/*返回素数的个数*/

}

23.填空题

【1】i==0||i==n-1||j==0||j==n-1

【2】4*n-4

【3】s/k

.改错题

(1)错误:

*t=calloc(m,sizeof(STU));

正确:

t=calloc(m,sizeof(STU));

(2)错误:

for(i=j=0;i

正确:

for(i=j=0;i

(3)错误:

t[k].s=b[j].s;

正确:

t[k]=b[j];

.编程题

intfun(STREC*a,STREC*b,

intl,inth)

{

inti,j=0;

for(i=0;i

if((a[i].s>=0&&a[i].s

(a[i].s>h&&a[i].s<=100))

/*将分数低于l,高于h的学生记录

存于结构体数组b中*/

b[j++]=a[i];

returnj;

/*返回分数范围内的学生人数*/

}

24.填空题

【1】i=0

【2】j--

【3】b[j]=′\0′

.改错题

(1)错误:

for(k=m;k>0;k--)

正确:

for(k=m-1;k>=0;k--)

(2)错误:

pt=j;

正确:

pt-=j;

.编程题

STRECfun(STREC*a,intb)

{

inti;

STRECstr={"\0",-1};

for(i=0;i

if(a[i].s==b)

str=a[i];

returnstr;

}

25.填空题

【1】i=1

【2】k%i==0&&i%2==0

【3】--j

.改错题

(1)错误:

if(strcmp((pstr+i),(pstr+j))<0)

正确:

if(strcmp(*(pstr+i),*(pstr+j))<0)

(2)错误:

*(pstr+j)=*p;

正确:

*(pstr+j)=p;

.编程题

voidfun(char*s,chart[])

{

inti,j=0,k=strlen(s);

for(i=0;i

t[j++]=s[i];

t[j]='\0';

}

26.填空题

【1】k=2

【2】s+=(2*k-1)/s1

【3】s

.改错题

(1)错误:

while((j>=0)||(ch>aa[j]))

正确:

while((j>=0)&&(ch>aa[j]))

(2)错误:

aa[j]=ch;

正确:

aa[j+1]=ch;

.编程题

doublefun(STREC*a,STREC*b,STREC*c,int*n,int*m)

{

inti;

doubleav=0.0;

*n=0;

*m=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];

/*将高于等于平均分的学生存入b

所指存储单元中,并统计人数*/

*n=*n+1;

}

else

{

c[*m]=a[i];

/*将低于平均分的学生存入c所指

存储单元中,并统计人数*/

*m=*m+1;

}

returnav;

/*返回平均分*/

}

27.填空题

【1】1

【2】k<=n

【3】s*=f/p

.改错题

(1)错误:

printf("%4d",xx[ij]);

正确:

printf("%4d",xx[i][j]);

(2)错误:

printf('\n');

正确:

printf("\n");

.编程题

doublefun(intn)

{

inti;

doubles=0.0;

for(i=1;i<=n;i++)

/*计算S=(1+1/2)+(1/3+1/4)+…+

(1/(2n-1)+1/2n)*/

s=s+(1.0/(2*i-1)+1.0/(2*i));

returns;

}

28.填空题

【1】intx[]

【2】sum+=x[i]

【3】sum/n

.改错题

(1)错误:

intA=1;

正确:

floatA=1;

(2)错误:

for(i=1;i<=n;i++)

正确:

for(i=2;i<=n;i++)

.编程题

doublefun(intm)

{

inti;

doubles=1.0;

for(i=1;i<=m;i++)

s=s-log(i);

/*计算s=1-ln

(1)-ln

(2)-ln(3)-

…-ln(m)*/

return(s*s);

/*对s求平方并返回*/

}

29.填空题

【1】sum*x+*p-'0'

【2】sum%y

【3】sum=sum/y

.改错题

(1)错误:

intfun(void)

正确:

voidfun(void)

(2)错误:

printf("%f",m[j]%5);

正确:

printf("%f",m[j]/5);

.编程题

voidfun(char*s,chart[])

{

inti,j=0;

for(i=0;s[i]!

='\0';i++)

if(i%2!

=0&&s[i]%2==0)

/*将s所指字符串中下标为奇数同时

ASCII值为偶数的字符

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1