计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx

上传人:b****9 文档编号:25728412 上传时间:2023-06-11 格式:DOCX 页数:70 大小:36.58KB
下载 相关 举报
计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx_第1页
第1页 / 共70页
计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx_第2页
第2页 / 共70页
计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx_第3页
第3页 / 共70页
计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx_第4页
第4页 / 共70页
计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx

《计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx》由会员分享,可在线阅读,更多相关《计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx(70页珍藏版)》请在冰豆网上搜索。

计算机等考《二级C语言程序设计》无纸化上机操作题116套.docx

计算机等考《二级C语言程序设计》无纸化上机操作题116套

3.2上机操作题部分

第1套上机考试试题

一、程序填空题

请补充函数proc(),该函数的功能是计算下面公式SN的值:

例如,当N=20时,SN=29.031674。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:

#include

#include

#include

doubleproc(intn)

{

doubles=1.0,s1=0.0;

intk;

for(【1】;k<=n;k++)

{

s1=s:

【2】;

return【3】;

}

voidmain()

{

intk=0;

doublesum:

system(”CLS”):

printf(”\nPleaseinputN=”):

scanf(”%d”,&k);

sum=proc(k):

printf(”\nS=%Lf”.sum);

}

 

二、程序改错题

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

y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn)

例如,n中的值为10,则应输出0.817962。

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

注意:

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

试题程序:

#include

#include

#include

doubleproc(intn)

{

doubley=1.0;

//****found****

intj=1;

inti;

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

{

j=-1*j;//****found****

y+=1/(i*i);

}

return(y);

}

voidmain()

{

intn=10:

system(”(CLS”):

printf(”\nTheresultis%lf\n”,proc(n));

三、程序设计题

编写一个函数,从传人的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#include

char*proc(cb,ar(*a)[81],intnum)

{

}

voidmain()

{

charss[10][81],*max;

intn,i=0;

printf(”输入若干个字符串:

”);

gets(ss[i]);

puts(ss[i]);

while(!

strcmp(ssEi],"****")==0)

{

i++:

gets(ss[i]);

puts(ss[i]);

n一1;

max=proc(ss,n):

printf(”\nmax=%s\n”,max);

 

第2套上机考试试题

一、程序填空题

请补充main()函数,该函数的功能是:

输入两个正整数numl和num2,求这两个数的最大公约数和最小公倍数。

例如,若输人的两个正整数为12,4,则它们的最大公约数为4,最小公倍数为l2。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。

试题程序:

#include

#include

voidmain()

{

inta,b,numl,num2,t;

system(”CLS”):

printf(”\nlnputtWOnumbers:

\n”);

scanf(”%d,%d”,&numl,&num2);

if(numl

{

a=num2;

b=numl;

}

else

{

a=num1:

b=num2:

while(【1】)

{

t=【2】

a=b;

b=t;

}

printf("greatestcommondivisor:

%d\n”,a);

printf(”leastcommonmultiple:

%d\n”,【3】);

二、程序改错题

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

取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。

例如,当s中的数为123456789时,t中的数为2468。

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

注意:

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

试题程序:

#include

#include

#include

//****found****

voidproc(1ongs,longt)

{longs1=10;

s/=10:

*t=s%10;

//****found****

while(s<0)

{s=s/100;

*t=s%10*s1+*t;

s1=s1*10:

}

voidmain()

{longS,t;

system(”CLs”);

printf(”\nPleaseenters:

”);

scanf(”%ld”,&s);

proc(s,&t):

printf(”Theresultis:

%ld\n”,t);

}

三、程序设计题

请编写函数proc(),其功能是:

将str所指字符串中除下标为偶数,同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符8的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。

依次类推,最后t所指的数组中的内容应是ACEG。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#include

#include

voidproc(char*str,chart[])

{

voidmain()

charstr[100],t[100];

system(”CLS”);

printf(”\nPleaseenterstringstr:

");

scanf(”%s”,str);

proc(str,t);

printf(”\nTheresultis:

%s\n”,t):

第3套上机考试试题

一、程序填空题

请补充main()函数,该函数的功能是:

如果数组arr的前一个元素比后一个元素小,则把它保存在数组bb中并输出。

例如,若数组中的元素为:

“40,68,62,33,35,52,48,95,66,73”,则输出:

“40,33,35,48,66”。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填人所编写的若干表达式或语句。

试题程序:

#include

#include

#defineM10

voidmain()

{

inti,n=0:

intarr[M]={40,68,62,33,35,52,48,95,66,73);

intbb[M];

system(”CLS”);

for(i=0;i<【1】;i++)

if(arr[i]

【2】;

printf(”\n***displaybb***\n”);

for(i=0;i

printf("bb[%d]=%2d",【3】);

}

二、程序改错题

给定程序中,函数proc()的功能是:

使数组中的元素的值缩小5倍。

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

注意:

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

试题程序:

#include

#include

#include

floatm[10];

ff****found****

intproc(void)

{

intJ;

printf(”Insubfuncaftercalling\n”);

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

{

|f****found****

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

}

}

voidmain()

{

inti;

printf(”Inmainbeforecalling\n”);

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

{

m[i]=i+20:

printf(”%f”,m[i]);

}

proc();

printf(”\nInmainaftercalling\n”):

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

printf(”%f”,m[i]/S):

三、程序设计题

学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:

按分数的高低排列学生的记录,高分在前。

注意:

部分源程序给出如下。

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

试题程序:

#include

#defineM16

typedefstruct

{

charnum[10];

inlS;

STREC;

voidproc(STRECa[])

inti,j;

STRECt;

for(i=1;i

排序*/

for(j=0;j

if(a[j].s

的记录,高分在前*/

{t=aEP;a[j]=a[j+1];a[j+1]=t;}

}

voidmain()

{

STREC,sluEM]={{”GA005”,85),{¨GA003”,

76},

{”GA002“,69},{¨GA004”,815}.{¨GA001”,91},

{"GA007”,72},{“GA008”,64),{"GA006”,87},

{¨GA015”,85},i”GAO13”,91},{”GA012”,64},

{"GA014”,91},{”GA011”,66},{¨GA017”,64},

{”GA018”,64},{¨GA016”,72}};

in/i;

proc(stu):

prinlf(”Thedataafwrsorted:

\n”);

for(i=0;i

i++)

{

if(i%4==0)

//每行输出4个学生记录

printf(”\n”);

printf(”%s%4d”,stu[i].num,stu[i].s);

}

printf(”\n”):

}

 

第4套上机考试试题

一、程序填空题

请补充函数proc(),其功能是:

计算并输出给定10个数的方差。

例如,拾定的10个数为12.0,9.0.26.0,5.0,6.0,31.0,

9.o,3.0,8.0,18、0,输出为s=8.8771500。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若于表达式或语句。

试题程序:

#include

#include

doubleproc(doublexElO])

{

inti;

doubleavg=0.0;

double8urn=0.0;

doubleabs=0.0:

doublesd;

for(i=0:

i<10;i++)

【1】;

avg=sum/10;

for(i=0;i<10;i十十)

【2】;

sd=【3】;

returnsd;

voidmain()

{

doubles,str[10]={12.0,9.0,26.0,5.0,6.0,31.0.

9.0,3.0,8.0,18.0);

inti;

printf(”\nTheoriginaldatais:

\n”);

for(i一0;i<10;i++)

t)rintf(”%6.lf,slr[i]):

printf(”\n\n”);

s=proc(str):

printf(”s=%f\n\n”,s);

二、程序改错题

下列给定程序中,函数proc()的功能是:

从字符串str中,删除所有大写字母'F'。

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

注意:

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

试题程序:

#include

voidproc(char*str)

{

inti,j;

//****found****

for(i=j=0;str[i]!

='0';i十十)

if(str[i]!

='F')

//****found****

str[j]=str[i];

str[j]='\0';

}

voidmain()

{

charstr[80];

printf(”\nEnterastring:

”);

gets(str);

printf(”Theoriginalstring:

”);

puts(str);

proc(str);

printf(”Thestringafterdeleted:

”);

puts(str);

printf(”\n\n”);)

三、程序设计题

假定输入的字符串中只包含字母和*号。

请编写函数proc(),它的功能是:

将字符串中的前导*号全部删除,中间和后面的*号不删除。

例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容则应当是a*bc*def*g****。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

voidproc(char*str)

{

voidmain()

charstr[81];

printf(”Enterastring:

n”);

gets(str);

proc(str);

printf(”Thestringafterdeleted:

n”);

puts(str);)

 

第5套上机考试试题

一、程序填空题

请补充函数proc(),函数proe()的功能是求7的阶乘。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:

#include

longproc(intn)

{

if(【1】)

reurn(n”proc(【2】);

elseif(【3】)

return1:

}

voidmain()

{

intk=7:

printf(”%d!

=%ld\n”,k,proc(k));

}

二、程序改错题

下列给定的程序中,函数proc()的功能是:

用选择法对数组中的m个元素按从小到大的顺序进行排序。

例如,排序前的数据为:

1132-5214则排序后的数据为:

-52111432

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

注意:

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

试题程序:

#include

#defineM20

voidproc(inta[],intn)

{

inti,j,t,P;

//****found****

for(j=0;j

{

P=j;

for(i=j;i

if(a[i]

p=i;

t=a[p]];

a[p]=a[j];

//****found****

a[p]=t:

}

}

voidmain()

{

intarr[M]={11,32,-5,2,14).i,m=5;

printf(”排序前的数据:

”);

for(i=0;i

printf(”%d”,arr[i]):

printf(”\n”);

proc(arr,m):

printf(”排序后的顺序:

”);

for(i=0;i

printf(”%d”,arr[i]);

printf(”\n”);

}

}

三、程序设计题

请编写函数proc(),该函数的功能是:

将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。

例如,若字符串数组中的M个字符串为:

ABCD

BCDEFG

CDEFGHI

则合并后的字符串内容应该是ABCDBCDEFGCDEFGHI。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#defineM3

#defineN20

voidproc(chararr[M][N].char*b)

{

}

voidmain()

{

charstr[M][N]={”ABCD”,”BCDEFG”,”

CDEFGHl”),i;

chararr[100]={”#############

#####”);

printf(”Thestring:

\n”);

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

puts(str[i]);

printf(”\n”);

proc(str,arr);

printf(”TheAstring:

\n”);

printf(”%S”,arr);

printf(”\nln”);

}

 

第6套上机考试试题

一、程序填空题

给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。

例如,当score=(10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40)。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

试题程序:

#include<2stdio.h>

#include<2string.h>

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

inti,j=0;

floataver=0.0;

for(i=0:

i<2m;i++)

aver+=score[i];

aver/=(float)m;

for(i=0:

i<2m;i++)

if(score[i]<2aver)

below[j++]=【1】;

returnj;

}

voidmain()

{

inti,n,below[9];

intscore[9]={10,20,30,40,50,60,70,80,90);

n=fun(score,9,【2】);

printf(”\nBelowtheaveragescoreare:

%d\n”,n);

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

printf(”%d”,【3】);

}

二、程序改错题

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

用递归算法计算斐波拉契数列中第n项的值。

从第1项起,斐波拉契数列为:

l,1,2,3,5,8,13,21,…

例如,若给n输入7,则该项的斐波拉契数值为13。

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

注意:

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

试题程序:

#include

longfun(intg)

//**+*found****

switch(g);

{

case0:

return0;

//****found****

casel:

case2:

return1;

}

return(fun(g-1)+fun(g-2));

voidmain()

{

longfib;intn;

printf(”Inputn:

”);

scanf(”%d”,&n);

printf(”n=%d\n”,n);

fib=fun(n);

printf(”fib=%d\nkn”,fib);

}

三、程序设计题

某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数,其功能是:

求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:

85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数fun()部位中填入你编写的若干语句。

试题程序:

#include

#defineN8

typedefstruct

{

charnurn[10];

doubles[N];

doubleave;

)STREC;

voidfun(STREC*a)

{

voidmain()

{

STRECs={¨GA005”,85.5,76,69.5,85,91,72,

64.5,87.5};

inti:

fun(&s):

printf(”The%s'sstudentdata:

n”,S.num);

for(i=0;i

printf(”%4.lfkn”,s.s[i]);

printf(”nknave=%7.3fkn”,s.ave);

printf(”\n”):

}

 

第7套上机考试试题

一、程序填空题

请补充main()函数,该函数的功能是:

把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。

例如,当str[M]=”abcdefl23ABCD”,结果输出:

“ABC

DEF123ABCD”。

注意:

部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

试题程序:

#include

#include

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

当前位置:首页 > PPT模板

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

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