计算机上机考试的一些大题.docx

上传人:b****4 文档编号:3549711 上传时间:2022-11-23 格式:DOCX 页数:22 大小:20.11KB
下载 相关 举报
计算机上机考试的一些大题.docx_第1页
第1页 / 共22页
计算机上机考试的一些大题.docx_第2页
第2页 / 共22页
计算机上机考试的一些大题.docx_第3页
第3页 / 共22页
计算机上机考试的一些大题.docx_第4页
第4页 / 共22页
计算机上机考试的一些大题.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

计算机上机考试的一些大题.docx

《计算机上机考试的一些大题.docx》由会员分享,可在线阅读,更多相关《计算机上机考试的一些大题.docx(22页珍藏版)》请在冰豆网上搜索。

计算机上机考试的一些大题.docx

计算机上机考试的一些大题

请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII值码升序排列。

例如:

原来的字符串为BdsihAd,则排序后输出为BAdhisd。

注意:

部分源程序已给出。

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

试题程序:

此题的源文件在考生目录下,文件名为:

prog1.c

#include

#include

#include

intfun(char*s,intnum)

{

}

main()

{

FILE*fp;

chars[10];

charb[10]="BdsihAd",c[10]="*&#a)0!

";

printf("PleaseInputastringincluding7Character:

");

gets(s);

fun(s,7);

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

fp=fopen("out.dat","w");

fun(b,7);

fprintf(fp,"%s",b);

fun(c,7);

fprintf(fp,"%s",c);

fclose(fp);

}

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:

modi1.c,

第1题分值为:

10分,

下列给定程序中函数fun()的功能是计算1/n!

的值。

例如:

给n输入5,则输出0.008333。

请改正程序中的错误,使它能得到正确结果。

注意:

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

试题程序:

#include

#include

/**********************found***********************/

intfun(intn)

{doubleresult=1.0;

if(n==0)

return1.0;

while(n>1&&n<170)

/**********************found***********************/

result*=n++;

result=1/result;

returnresult;

}

main()

{

intn;

printf("InputN:

");

scanf("%d",&n);

printf("\n1/%d!

=%lf\n",n,fun(n));

}

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:

modi1.c,

第1题分值为:

10分,

给定程序的功能是:

计算s=1+(1+2)+(1+2+3)+...+(1+2+...+n),期中n通过键盘输入

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

注意不得增行或删行,也不得更改程序的结构!

注意不得增行或删行,也不得更改程序的结构!

程序中有两处错误。

#include"stdio.h"

main()

{

intn,i,j,f,s=0;

printf("请输入n:

\n");

scanf("%d",n);

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

{

f=0

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

f=f+j;

s=s+f;

}

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

}

请编写一个函数doublefun(intn),求s=1!

+2!

+...+n!

n通过键盘输入,大小n不超过20,如输入3,输出结果应为9,函数的返回值为所求和。

注意:

部分源程序已给出。

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

此题的源文件在考生目录下,文件名为:

prog1.c

#include

#include

doublefun(intn)

{

}

main()

{

FILE*wf;

intn,i,k=0;

doubles,bb[10];

printf("请输入n:

\n");

scanf("%d",&n);

s=fun(n);

printf("和为:

%f",s);

printf("\n");

/******************************/

wf=fopen("out.dat","w");

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

bb[k++]=fun(i);

for(k=0;k<10;k++)

fprintf(wf,"%f",bb[k]);

fclose(wf);

/*****************************/

}

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:

modi1.c,

第1题分值为:

10分,

下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。

例如:

a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。

请改正程序中的错误,使它能得到正确结果。

注意:

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

#include

#include

voidfun(char*p,char*q,char*c)

{intk=0;

while(*p||*q)

/**********************found***********************/

{if(*p<=*q)

c[k]=*q;

elsec[k]=*p;

if(*p)p++;

if(*q)q++;

/**********************found***********************/

k++

}

}

main()

{chara[10]="fshADfg",b[10]="sdAEdi",c[80]={'\0'};

fun(a,b,c);

printf("Thestringa:

");puts(a);

printf("Thestringb:

");puts(b);

printf("Theresult:

");puts(c);

}

请编写一个函数fun(),它的功能是:

比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。

若两个字符串长度相等,则返回第1个字符串。

例如,输入abcdexyz为回车键),函数将返回xyz;或输入ababcd为回车键),函数将返回ab;

注意:

部分源程序已给出

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

此题的源文件在考生目录下,文件名为:

prog1.c

#include

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

{

}

main()

{

FILE*wf;

chara[20],b[10],*p="nanjing123",*q="nanchang";

inti;

printf("Input1thstring:

");

gets(a);

printf("Input2thstring:

");

gets(b);

printf("%s",fun(a,b));

/******************************/

wf=fopen("out.dat","w");

fprintf(wf,"%s",fun(p,q));

fprintf(wf,"%c",'\n');

fclose(wf);

/*****************************/

}

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:

modi1.c,

第1题分值为:

10分,

给定程序的功能是:

计算某足球队在联赛中的积分等决定名次的参数。

设已知某队在m场比赛(2≤m≤50)中各场的进球数和失球数(存入组长组xx),则可算出它的积分(胜一场得3分,平一场得1分,负一场得0分)、净胜球数n和总进球数与总失球数之比r。

例如:

若输入“4”和31、11、20、12、12、12、12、12,则应输出

...

Thetotalmark:

8

Thenetscore:

28

Therationofwinvslost:

1.60

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

注意不得增行或删行,也不得更改程序的结构!

#include"conio.h"

#include"stdio.h"

structwinlost

{intwin;intlost;};

structresult

{intt;intn;floatr;};

voidtotal(intm,structwinlostxx[],structresult*final)

{

inti;

final->t=0;

final->n=0;

final->r=0.0;

for(i=0;i

{if(xx[i].win>xx[i].lost)

/********found**********/

final->t+=2;

else

/********found**********/

if(xx[i].win=xx[i].lost)

final->t+=1;

final->n+=xx[i].win;

final->r+=xx[i].lost;

}

i=final->n;

final->n=i-final->r;

final->r=i/final->r;

}

voidmain(void)

{

inti,m;

structwinlostaa[50];

structresultlast;

printf("\nHowmanysimesofcompetetionclosetheteamtale:

");

scanf("%d",&m);

printf("\cPleaseenter%dresultsofeachcompetition",m);

printf("(winlost):

\n");

for(i=0;i

scanf("%d%d",&(aa[i].win),&(aa[i].lost));

total(m,aa,&last);

printf("\nTheresultofeachcompetition:

");

for(i=0;i

printf("\nNo.%2d:

%2d(win:

lost)",i+1,aa[i].win,aa[i].lost);

printf("\n\nThetotalmark:

%2d",last.t);

printf("\nThenetscore:

%2d",last.n);

printf("\nTherationofwinvslost:

%5.2f",last.r);

}

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

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

例如,当a=16,b=35,调用该函数后,c=5361。

注意:

部分源程序已给出。

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

此题的源文件在考生目录下,文件名为:

prog1.c

#include"stdio.h"

voidfun(inta,intb,long*c)

{

}

main()

{

FILE*wf;

inta,b,i;

longc;

printf("Inputa,b;");

scanf("%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:

%ld\n",c);

wf=fopen("out.dat","w");

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

{fun(i,100-i,&c);

fprintf(wf,"%ld",c);

}

fclose(wf);

}

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:

modi1.c,

第1题分值为:

10分,

下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。

例如:

字符串中的数据为ADFESHDI,则输出应当是AFESDI。

请改正程序中的错误,使它能得到正确结果。

注意:

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

#include

#include

#include

#defineN80

/**********************found***********************/

voidfun(chars,chart[])

{

inti,j=0;

for(i=0;i

/**********************found***********************/

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

=0)

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

t[j]='\0';

}

main()

{

chars[N],t[N];

printf("\nPleaseenterstrings:

");

gets(s);

fun(s,t);

printf("\nTheresultis:

%s\n",t);

}

请编写函数voidfun(intx,intpp[],int*n),它的功能是:

求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15,它们都能被30整除且不是偶数。

注意:

部分源程序已给出

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

此题的源文件在考生目录下,文件名为:

prog1.c

#include

#include

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

{

}

main()

{

FILE*wf;

intx,aa[1000],n,i;

printf("\nPleaseenteranintegernumber:

\n");

scanf("%d",&x);

fun(x,aa,&n);

for(i=0;i

printf("%d",aa[i]);

printf("\n");

/******************************/

wf=fopen("out.dat","w");

fun(100,aa,&n);

for(i=0;i

fprintf(wf,"%d",aa[i]);

fclose(wf);

/*****************************/

}

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:

modi1.c,

第1题分值为:

10分,

给定程序的功能是:

计算某足球队在联赛中的积分等决定名次的参数。

设已知某队在m场比赛(2≤m≤50)中各场的进球数和失球数(存入组长组xx),则可算出它的积分(胜一场得3分,平一场得1分,负一场得0分)、净胜球数n和总进球数与总失球数之比r。

例如:

若输入“4”和31、11、20、12、12、12、12、12,则应输出

...

Thetotalmark:

8

Thenetscore:

28

Therationofwinvslost:

1.60

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

注意不得增行或删行,也不得更改程序的结构!

#include"conio.h"

#include"stdio.h"

structwinlost

{intwin;intlost;};

structresult

{intt;intn;floatr;};

voidtotal(intm,structwinlostxx[],structresult*final)

{

inti;

final->t=0;

final->n=0;

final->r=0.0;

for(i=0;i

{if(xx[i].win>xx[i].lost)

/********found**********/

final->t+=2;

else

/********found**********/

if(xx[i].win=xx[i].lost)

final->t+=1;

final->n+=xx[i].win;

final->r+=xx[i].lost;

}

i=final->n;

final->n=i-final->r;

final->r=i/final->r;

}

voidmain(void)

{

inti,m;

structwinlostaa[50];

structresultlast;

printf("\nHowmanysimesofcompetetionclosetheteamtale:

");

scanf("%d",&m);

printf("\cPleaseenter%dresultsofeachcompetition",m);

printf("(winlost):

\n");

for(i=0;i

scanf("%d%d",&(aa[i].win),&(aa[i].lost));

total(m,aa,&last);

printf("\nTheresultofeachcompetition:

");

for(i=0;i

printf("\nNo.%2d:

%2d(win:

lost)",i+1,aa[i].win,aa[i].lost);

printf("\n\nThetotalmark:

%2d",last.t);

printf("\nThenetscore:

%2d",last.n);

printf("\nTherationofwinvslost:

%5.2f",last.r);

}

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

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

例如,当a=16,b=35,调用该函数后,c=5361。

注意:

部分源程序已给出。

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

此题的源文件在考生目录下,文件名为:

prog1.c

#include"stdio.h"

voidfun(inta,intb,long*c)

{

}

main()

{

FILE*wf;

inta,b,i;

longc;

printf("Inputa,b;");

scanf("%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:

%ld\n",c);

wf=fopen("out.dat","w");

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

{fun(i,100-i,&c);

fprintf(wf,"%ld",c);

}

fclose(wf);

}

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

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

例如,当a=16,b=35,调用该函数后,c=5361。

注意:

部分源程序已给出。

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

此题的源文件在考生目录下,文件名为:

prog1.c

#include"stdio.h"

voidfun(inta,intb,long*c)

{

}

main()

{

FILE*wf;

inta,b,i;

longc;

printf("Inputa,b;");

scanf("%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:

%ld\n",c);

wf=fopen("out.dat","w");

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

{fun(i,100-i,&c);

fprintf(wf,"%ld",c);

}

fclose(wf);

}

请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。

二维数组中的数已在主函数中给出。

注意:

部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,否则得不到成绩后果自负,仅在函数fun的花括号中填入所编写的若干语句。

此题的源文件在考生目录下,文件名为:

prog1.c

#include

#include

#defineM3

#defineN4

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

{

}

main()

{

FILE*wf

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

当前位置:首页 > 表格模板 > 合同协议

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

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