C语言技能考试题目程序改错.docx

上传人:b****2 文档编号:2180776 上传时间:2022-10-27 格式:DOCX 页数:116 大小:45.92KB
下载 相关 举报
C语言技能考试题目程序改错.docx_第1页
第1页 / 共116页
C语言技能考试题目程序改错.docx_第2页
第2页 / 共116页
C语言技能考试题目程序改错.docx_第3页
第3页 / 共116页
C语言技能考试题目程序改错.docx_第4页
第4页 / 共116页
C语言技能考试题目程序改错.docx_第5页
第5页 / 共116页
点击查看更多>>
下载资源
资源描述

C语言技能考试题目程序改错.docx

《C语言技能考试题目程序改错.docx》由会员分享,可在线阅读,更多相关《C语言技能考试题目程序改错.docx(116页珍藏版)》请在冰豆网上搜索。

C语言技能考试题目程序改错.docx

C语言技能考试题目程序改错

题号:

1

功能:

用起泡法对10个整数从小到大排序。

/**********FOUND**********/

voidsort(intx,intn)

{inti,j,k,t;

for(i=0;i

/**********FOUND**********/

for(j=0;j

/**********FOUND**********/

if(x[i]>x[i+1])

{t=x[j];x[j]=x[j+1];x[j+1]=t;}

}

main()

{inti,n,a[100];

printf("pleaseinputthelengthofthearray:

\n");

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

/**********FOUND**********/

sort(n,a);

printf("outputthesortedarray:

\n");

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

printf("%5d",a[i]);

printf("\n");

}

答案:

1).voidsort(int*x,intn)或voidsort(intx[],intn)

2).for(j=0;jj;j++)或for(j=0;jj;j++)或for(j=0;j<=n-2-i;j++)

3).if(x[j]>x[j+1])或if(x[j+1]

4).sort(a,n);

题号:

2

功能:

在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。

#defineN11

main()

{inti,j,t,number,a[N]={1,2,4,6,8,9,12,15,149,156};

printf("pleaseenteranintegertoinsertinthearray:

\n");

/**********FOUND**********/

scanf("%d",&number)

printf("Theoriginalarray:

\n");

for(i=0;i

printf("%5d",a[i]);

printf("\n");

/**********FOUND**********/

for(i=N-1;i>=0;i--)

if(number<=a[i])

/**********FOUND**********/

a[i]=a[i-1];

else

{a[i+1]=number;

/**********FOUND**********/

exit;

}

if(number

printf("Theresultarray:

\n");

for(i=0;i

printf("%5d",a[i]);

printf("\n");

}

答案:

1).scanf("%d",&number);

2).for(i=N-2;i>=0;i--)或for(i=N-2;0<=i;i--)

3).a[i+1]=a[i];

4).break;

题号:

3

功能:

利用二维数组输出如图所示的图形。

*******

*****

***

*

***

*****

*******

#include

/**********FOUND**********/

#defineN=7

main()

{

chara[N][N];

inti,j,z;

clrscr();

for(i=0;i

for(j=0;j

/**********FOUND**********/

a[i][j]=;

z=0;

for(i=0;i<(N+1)/2;i++)

{

for(j=z;j

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

z=z+1;

}

/**********FOUND**********/

z=0;

for(i=(N+1)/2;i

{

z=z-1;

for(j=z;j

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

}

for(i=0;i

{

for(j=0;j

/**********FOUND**********/

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

printf("\n");

}

}

答案:

1).#defineN7

2).a[i][j]='';

3).z=z-1;或z--;或z=-1+z;或z=(n+1)/2-1;或z=(1+n)/2-1

4).printf("%c",a[i][j]);

题号:

4

功能:

将若干学生的档案存放在一个文件中,并显示其内容。

structstudent

{intnum;

charname[10];

intage;

};

structstudentstu[3]={{001,"LiMei",18},

{002,"JiHua",19},

{003,"SunHao",18}};

#include

main()

{/**********FOUND**********/

structstudentp;

/**********FOUND**********/

cfilefp;

inti;

if((fp=fopen("stu_list","wb"))==NULL)

{printf("cannotopenfile\n");return;}

/**********FOUND**********/

for(*p=stu;p

fwrite(p,sizeof(structstudent),1,fp);

fclose(fp);

fp=fopen("stu_list","rb");

printf("No.Nameage\n");

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

{fread(p,sizeof(structstudent),1,fp);

/**********FOUND**********/

scanf("%4d%-10s%4d\n",*p.num,p->name,(*p).age);

}

fclose(fp);

}

答案:

1).structstudent*p;

2).FILE*fp;

3).for(p=stu;pp;p++)或for(p=stu;p<=stu+2;p++)或for(p=stu;stu+2>=p;p++)

4).printf("%4d%-10s%4d\n",(*p).num,p->name,(*p).age);或printf("%4d%-10s%4d\n",p->num,p->name,p->age);或printf("%4d%-10s%4d\n",(*p).num,(*p).name,(*p).age);或printf(("%4d%-10s%4d\n",p->num,p->name,(*p).age);或printf(("%4d%-10s%4d\n",(*p).num,p->name,p->.age);或printf(("%4d%-10s%4d\n",p->num,(*p).name,(*p).age);

题号:

11

功能:

判断m是否为素数,若是返回1,否则返回0。

main()

{intm,k=0;

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

if(fun(m)==1)

{printf("%4d",m);k++;

if(k%5==0)printf("\n");

}

}

/**********FOUND**********/

voidfun(intn)

{inti,k=1;

if(m<=1)k=0;

/**********FOUND**********/

for(i=1;i

/**********FOUND**********/

if(m%i=0)k=0;

/**********FOUND**********/

returnm;

}

答案:

1).intfun(intm)或fun(intm)

2).for(i=2;ii;i++)或for(i=2;i<=m-1;i++)或for(i=2;m-1=>i;i++)

3).if(m%i==0)k=0;

4).returnk;

题号:

5

功能:

求1到10的阶乘的和。

main()

{inti;

floatt,s=0;

floatfac(intn);

/**********FOUND**********/

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

/**********FOUND**********/

s=fac(i);

printf("%f\n",s);

}

floatfac(intn)

{/**********FOUND**********/

inty=1;

inti;

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

y=y*i;

/**********FOUND**********/

return;

}

答案:

1).for(i=1;i<=10;i++)或for(i=1;10>=i;i++)或for(i=1;i<11;i++)或for(i=1;11>i;i++)

2).s=s+fac(i);或s+=fac(i);或s=fac(i)+s;

3).floaty=1.0;或floaty=1;

4).returny;或return(y);或return(y);

题号:

6

功能:

求1到20的阶乘的和。

fun()

{intn,j;

floats=0.0,t=1.0;

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

{/**********FOUND**********/

s=1;

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

/**********FOUND**********/

t=t*n;

/**********FOUND**********/

s+t=s;

}

/**********FOUND**********/

printf("jiecheng=%d\n",s);

}

main()

{

fun();

}

答案:

1).t=1;或t=1.0;

2).t=t*j;或t*=j;或t=j*t;

3).s=s+t;或s+=t;或s=t+s;

4).printf("jiecheng=%f\n",s);

题号:

7

功能:

输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数

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

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

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

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