C语言技能考试题目程序改错Word文件下载.docx
《C语言技能考试题目程序改错Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言技能考试题目程序改错Word文件下载.docx(116页珍藏版)》请在冰豆网上搜索。
printf("
pleaseinputthelengthofthearray:
\n"
);
scanf("
%d"
&
n);
n;
a[i]);
sort(n,a);
outputthesortedarray:
=n-1;
%5d"
a[i]);
答案:
1).voidsort(int*x,intn)或voidsort(intx[],intn)
2).for(j=0;
n-1-i;
j++)或for(j=0;
n-1-i>
j;
n-(1+i);
n-(1+i)>
=n-2-i;
3).if(x[j]>
x[j+1])或if(x[j+1]<
x[j])
4).sort(a,n);
2
在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。
#defineN11
{inti,j,t,number,a[N]={1,2,4,6,8,9,12,15,149,156};
pleaseenteranintegertoinsertinthearray:
number)
Theoriginalarray:
N-1;
for(i=N-1;
i>
=0;
i--)
if(number<
=a[i])
a[i]=a[i-1];
else
{a[i+1]=number;
exit;
a[0])a[0]=number;
Theresultarray:
N;
printf("
1).scanf("
number);
2).for(i=N-2;
i--)或for(i=N-2;
0<
=i;
3).a[i+1]=a[i];
4).break;
3
利用二维数组输出如图所示的图形。
*******
*****
***
*
#include<
conio.h>
#defineN=7
{
chara[N][N];
inti,j,z;
clrscr();
a[i][j]=;
z=0;
(N+1)/2;
{
for(j=z;
N-z;
a[i][j]='
*'
;
z=z+1;
for(i=(N+1)/2;
{
z=z-1;
a[i][j]='
a[i][j]);
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"
4
将若干学生的档案存放在一个文件中,并显示其内容。
structstudent
{intnum;
charname[10];
intage;
};
structstudentstu[3]={{001,"
LiMei"
18},
{002,"
JiHua"
19},
{003,"
SunHao"
18}};
stdio.h>
{/**********FOUND**********/
structstudentp;
cfilefp;
inti;
if((fp=fopen("
stu_list"
"
wb"
))==NULL)
{printf("
cannotopenfile\n"
return;
for(*p=stu;
p<
stu+3;
p++)
fwrite(p,sizeof(structstudent),1,fp);
fclose(fp);
fp=fopen("
rb"
No.Nameage\n"
for(i=1;
=3;
{fread(p,sizeof(structstudent),1,fp);
/**********FOUND**********/
%4d%-10s%4d\n"
*p.num,p->
name,(*p).age);
1).structstudent*p;
2).FILE*fp;
3).for(p=stu;
p++)或for(p=stu;
stu+3>
p;
=stu+2;
stu+2>
=p;
(*p).num,p->
或printf("
p->
num,p->
name,p->
age);
(*p).num,(*p).name,(*p).age);
或printf(("
%4d%-10s%4d\n"
num,p->
(*p).num,p->
.age);
num,(*p).name,(*p).age);
11
判断m是否为素数,若是返回1,否则返回0。
{intm,k=0;
for(m=1;
m<
100;
m++)
if(fun(m)==1)
{printf("
%4d"
m);
k++;
if(k%5==0)printf("
voidfun(intn)
{inti,k=1;
if(m<
=1)k=0;
m;
if(m%i=0)k=0;
returnm;
1).intfun(intm)或fun(intm)
2).for(i=2;
i++)或for(i=2;
m>
i;
=m-1;
m-1=>
3).if(m%i==0)k=0;
4).returnk;
5
求1到10的阶乘的和。
{inti;
floatt,s=0;
floatfac(intn);
10;
s=fac(i);
%f\n"
s);
floatfac(intn)
{/**********FOUND**********/
inty=1;
for(i=1;
=n;
y=y*i;
1).for(i=1;
=10;
i++)或for(i=1;
10>
11;
11>
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;
t=t*n;
s+t=s;
jiecheng=%d\n"
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;
jiecheng=%f\n"
7
输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数