二级C语言机试试题11Word格式文档下载.docx

上传人:b****5 文档编号:18924289 上传时间:2023-01-02 格式:DOCX 页数:29 大小:35.94KB
下载 相关 举报
二级C语言机试试题11Word格式文档下载.docx_第1页
第1页 / 共29页
二级C语言机试试题11Word格式文档下载.docx_第2页
第2页 / 共29页
二级C语言机试试题11Word格式文档下载.docx_第3页
第3页 / 共29页
二级C语言机试试题11Word格式文档下载.docx_第4页
第4页 / 共29页
二级C语言机试试题11Word格式文档下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

二级C语言机试试题11Word格式文档下载.docx

《二级C语言机试试题11Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《二级C语言机试试题11Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。

二级C语言机试试题11Word格式文档下载.docx

}

main()

chars[N];

intcount[10],i;

printf("

\nPleaseenteracharstring:

"

);

gets(s);

\nTheoriginalstring\n"

puts(s);

fun(s,count);

\nThecountberofleter\n"

5;

\n"

%d=%d"

2*i+1,count[i]);

【答案】

(1)*p

(2)a[*p-'

]++(3)count[j]=a[i]

下列给定程序中,函数fun的功能是从字符串s中删除所有小写字母"

c"

请修改程序中的错误,使它能计算出正确的结果。

不要改动main函数,不能增行或删行,也不能更改程序的结构。

voidfun(char*str)

for(i=j=0;

str[i]!

\0'

;

/****error******/

if(str[i]!

c'

str[j]=str[i];

str[i]='

charstr[100];

Enterastringwith'

:

"

gets(str);

Theoriginalstring:

puts(str);

fun(str);

Thestringafterdeleted:

\n\n"

(1)str[j++]=str[i];

(2)str[j]='

M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。

请编写函数fun,它的功能是求出平均分,由函数值返回。

例如,若学生的成绩是69、85、91、72、64,则平均分应当是76.200。

请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

stdlib.h>

#defineM5

structlist

{

doubles;

structlist*next;

};

typedefstructlistSCORE;

doublefun(SCORE*a)

SCORE*creat(double*stu)

SCORE*a,*p,*q;

inti=0;

a=p=(SCORE*)malloc(sizeof(SCORE));

p->

s=0;

while(i<

M)

q=(SCORE*)malloc(sizeof(SCORE));

q->

s=stu[i];

i++;

next=q;

p=q;

next=0;

returna;

outlist(SCORE*a)

SCORE*p;

p=a->

next;

a"

do

->

%4.1f"

p->

s);

p=p->

while(p!

=0);

main()

doublestu[M]={69,85,91,72,64},ave;

SCORE*a;

FILE*out;

a=creat(stu);

outlist(a);

ave=fun(a);

ave=%6.3f\n"

ave);

out=fopen("

outfile.dat"

"

w"

fprintf(out,"

%6.3f"

fclose(out);

doubleaver=0.0;

//初始化平均值

while(a!

=NULL)

//如果头指针不指向链表尾,就累加链表中成绩

aver+=a->

s;

//累加成绩

a=a->

//指向下一个节点

aver/=M;

//求平均分

returnaver;

请补充fun函数,该函数的功能是逐个比较s1、s2两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到s数组中,形成一个新的字符串。

例如,若s1中的字符串为aBCDeFgH,s2中的字符串为ABcd,则s中的字符串应为ABCD。

string.h>

voidfun(char*a,char*b,char*s)

inti=___1___;

while(*a___2___*b)

if(*a>

*b)

s[i]=*b;

else

s[i]=*a;

if(*a)

a++;

if(*b)

b++;

chars1[10]="

aBCDeFgH"

s2[10]="

ABcd"

s[80]={'

fun(s1,s2,s);

Thestrings1:

puts(s1);

Thestrings2:

puts(s2);

Theresults:

(1)0

(2)||

下列给定程序中,函数fun的功能是根据整型参数n,计算如下公式的值:

例如,若n=4,则应输出0.600000。

请修改程序中的错误,得出正确的结果。

/*******error*********/

fun(intn)

doublex=1;

inti;

/*******error*********/

for(i=2;

n;

x=1.0/(1+x);

returnx;

intn;

\nPleaseentern:

scanf("

%d"

&

n);

x%d=%lf\n"

n,fun(n));

(1)doublefun(intn)

(2)for(i=2;

=n;

请编写函数fun,其功能是计算并输出给定10个数的方差:

例如,给定的10个数为76.0、65.0、72.0、85.0、57.0、67.0、45.0、92.0、44.0、58.0,则输出为F=14.982990。

math.h>

doublefun(doubley[10])

doublef,y[10]={76.0,65.0,72.0,85.0,57.0,67.0,45.0,92.0,44.0,

58.0};

\nTheoriginaldatais:

%6.1f"

y[i]);

f=fun(y);

f=%f\n\n"

f);

out=fopen("

%f"

inti,j;

doublef=0.0,f1=0.0;

//初始化变量

for(i=0;

i++)//求公式中y的值

f1+=y[i];

f1/=10;

for(j=0;

j<

j++)

//求公式中给出的根号下的部分

f+=(y[j]-f1)*(y[j]-f1);

f/=10;

f=pow(f,0.5);

//求平方根

returnf;

请补充函数fun,该函数的功能是比较字符串s1和s2的大小,并返回比较的结果。

例如,当sr1="

abcd"

,s2="

abc"

时,fun函数返回"

s1>

s2"

#defineN80

char*fun(char*s1,char*s2)

char*t1=s1,*t2=s2;

while(*t1&

*t2)

if(___1___)

return"

<

if(___2___)

>

t1++;

t2++;

if(*t1==*t2)

=="

if(*t1==___3___)

chars1[N],s2[N];

Pleaseinputs1:

gets(s1);

Pleaseinputs2:

gets(s2);

Theresultis\n"

s1%ss2"

fun(s1,s2));

(1)*t1<

*t2

(2)*t1>

*t2(3)'

下列给定的程序中,函数fun的功能是应用递归算法求某数b的平方根。

求平方根的迭代公式如下:

例如,2的平方根值为1.414214。

fun(doubleb,doublex0)

doublex1,y;

x1=(x0+b/x0)/2.0;

if(abs(x1-x0)>

=1e-6)

y=fun(b,x1);

y=x1;

returny;

doublen;

Entern:

%lf"

Thesquarerootof%lfis%lf\n"

n,fun(n,1.0));

(1)doublefun(doubleb,doublex0)

(2)if(fabs(x1-x0)>

程序定义了M×

M的二维数组,并在主函数中自动赋值。

请编写函数fun(int[][M],intn),该函数的功能是使数组左下半三角元素中的值乘以n。

例如,若n的值为0,matrix数组中的值为:

,则返回主程序后,matrix数组中的值应为:

#defineM3

voidfun(intmatrix[][M],intn)

intmatrix[M][M],n,i,j;

Thearray\n"

M;

{

for(j=0;

j++)

matrix[i][j]=rand()%10;

%4d"

matrix[i][j]);

n=rand()%4;

n=%4d\n"

n);

fun(matrix,n);

THERESULT\n"

matrix[i][j]=i*j+1;

fun(matrix,9);

}

=i;

matrix[i][j]=matrix[i][j]*n;

请补充fun函数,该函数的功能是寻找两个整数之间的所有素数(包括这两个整数),把结果保存在数组a中,函数返回素数的个数。

例如,输入3和18,则输出为3 5 7 11 13 17。

intfun(intn,intm,inta[N])

inti,j,k=0,flag;

for(j=n;

=m;

___1___;

j;

flag=0;

break;

if(___3___)

a[k++]=j;

returnk;

intn=0,m=0,i,k;

inta[N];

Inputn\n"

Inputm\n"

m);

m-n;

k=fun(n,m,a);

k;

a[i]);

(1)flag=1

(2)j%i==0(3)flag==1

下列给定程序中函数fun的功能是:

传入一个整数n,计算如下公式的值:

例如,若输入5,则应输出-0.283333。

请修改函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。

doublefun(intn)

doubles=1.0;

s=1.0-1/i;

/*******error*******/

___填空___

\nPleaseenter1integernumbers:

\n\nTheresultis%lf\n"

fun(n));

(1)s=s-1.0/i;

/s-=1.0/i;

/s-=(double)1/i

(2)returns;

请编写函数fun,其功能是将两个两位数的正整数a、b合并成一个整数放在c中。

合并的方式:

将a的十位和个位依次放在c的百位和个位上,b的十位和个位依次放在c的千位和十位上。

例如,当a=45,b=12,调用该函数后,c=1425。

voidfun(inta,intb,long*c)

inta,b;

longc;

Inputa,b:

scanf("

%d%d"

a,&

b);

fun(a,b,&

c);

Theresultis:

%ld\n"

c);

for(a=0;

a<

a++)

fun(a+28,a+82,&

%ld\n"

【答案】*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;

请补充fun函数,该函数的功能是计算并输出下列多项式的值:

例如,若主函数从键盘给n输入50后,则输出为S=1.960784。

___1___fun(intn)

doublesum=0.0,temp;

for(i=1;

temp=0.0;

for(j=1;

temp+=___2___;

sum+=1.0/temp;

returnsum;

Pleaseinputn:

s=fun(n);

%f\n\n"

s);

(1)double

(2)j

下列给定程序中函数fun的功能:

输出N行N列正方阵,然后求两条对角线上各元素之和,返回此和数。

#defineN5

/*******error********/

intfun(intn,inta[][])

inti,j,sum=0;

\nThe%dx%dmatrix:

N,N);

/******error*********/

%4f"

a[i][j]);

sum+=a[i][i]+a[i][n-i-1];

if(n%2!

=0)

sum-=a[n/2][n/2];

return(sum);

intx[N][N]={{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3},

{5,4,3,2,1}};

\nThesumofallelementson2diagnalis%d."

fun(N,x));

(1)intfun(intn,inta[][N])

(2)printf("

请编写一个函数fun,它的功能是计算n门课程的平均分,计算结果作为函数值返回。

例如,若有5门课程的成绩是88、92、80、61.5、55;

则函数的值为75.30。

floatfun(float*b,intm)

floats[10]={88,92,80,61.5,55},aver;

aver=fun(s,5);

\nAveragesis:

%5.2f\n"

aver);

%5.2f"

floatave=0.0;

inti;

m;

ave+=b[i];

ave/=m;

returnave;

请补充main函数,该函数的

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

当前位置:首页 > 高等教育 > 院校资料

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

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