C语言上机模拟题无答案.docx

上传人:b****5 文档编号:29451167 上传时间:2023-07-23 格式:DOCX 页数:23 大小:19.55KB
下载 相关 举报
C语言上机模拟题无答案.docx_第1页
第1页 / 共23页
C语言上机模拟题无答案.docx_第2页
第2页 / 共23页
C语言上机模拟题无答案.docx_第3页
第3页 / 共23页
C语言上机模拟题无答案.docx_第4页
第4页 / 共23页
C语言上机模拟题无答案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言上机模拟题无答案.docx

《C语言上机模拟题无答案.docx》由会员分享,可在线阅读,更多相关《C语言上机模拟题无答案.docx(23页珍藏版)》请在冰豆网上搜索。

C语言上机模拟题无答案.docx

C语言上机模拟题无答案

模拟试题

(一)

1.填空题

请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。

例如:

当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,

10.0,16.0},结果为:

avg=15.。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

doublefun(doublex[10])

{

inti;

longt;

doubleavg=0.0;

doublesum=0.0;

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

【1】;

avg=sum/10;

avg=【2】;

t=【3】;

avg=(double)t/100;

returnavg;

}

main()

{

doubleavg,x[10]={15.6,19.9,16.7,15.2,

18.3,12.1,15.5,11.0,10.0,16.0};

inti;

clrscr();

printf("\nTheoriginaldatais:

\n");

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

printf("%6.1f",x[i]);

printf("\n\n");

avg=fun(x);

printf("average=%f\n\n",avg);

}

2.改错题

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

先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。

请改正函数fun()中的错误,使它能得出正确的结果。

注意:

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

试题程序:

#include

intfun()

{

inta[3][3],mul;

inti,j;

mul=1;

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

{

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

for(i=0;j<3;j++)

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

}

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

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

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

printf("Mul=%d\n",mul);

}

main()

{

fun();

}

3.编程题

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

将ss所指字符串中所有下标为偶数位置的字母转换为小写(若该位置上不是字母,则不转换)。

例如,若输入ABC4efG,则应输出aBc4efg。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#include

voidfun(char*ss)

{

 

}

main()

{

chartt[81];

clrscr();

printf("\nPleaseenteranstringwithin80characters:

\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n\%s",tt);

fun(tt);

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

}

模拟试题

(二)

1.填空题

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

分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。

例如,输入aeiouAOUpqrt,结果为A:

2E:

1I:

1O:

2U:

2other:

4。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#defineN100

voidfun(char*str,intbb[])

{

char*p=str;

inti=0;

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

【1】;

while(*p)

{

switch(*p)

{

case'A':

case'a':

bb[0]++;break;

case'E':

case'e':

bb[1]++;break;

case'I':

case'i':

bb[2]++;break;

case'O':

case'o':

bb[3]++;break;

case'U':

case'u':

bb[4]++;break;

default:

【2】;

}

【3】

}

}

main()

{

charstr[N],ss[6]="AEIOU";

inti;

intbb[6];

clrscr();

printf("Inputastring:

\n");

gets(str);

printf("thestringis:

\n");

puts(str);

fun(str,bb);

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

printf("\n%c:

%d",ss[i],bb[i]);

printf("\nother:

%d",bb[i]);

}

2.改错题

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

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

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

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

注意:

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

试题程序:

#include

#include

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

intfun(longs,long*t)

{

longs1=10;

*t=s%10;

while(s>0)

{

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

s=s%100;

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

s1=s1*10;

}

}

main()

{

longs,t;

clrscr();

printf("\nPleaseenters:

");

scanf("%ld",&s);

fun(s,&t);

printf("Theresultis:

%ld\n",t);

}

3.编程题

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

求出一个4×M整型二维数组中最小元素的值,并将此值返回调用函数。

注意:

部分源程序给出如下。

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

试题程序:

#defineM4

#include

fun(inta[][M])

{

 

}

main()

{

intarr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7};

printf("min=%d\n",fun(arr));

}

模拟试题(三)

1.填空题

str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。

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

把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。

例如:

str=“Bcd123e456hui890”,结果为:

注意:

部分源程序给出如下。

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

试题程序:

#include

#defineN80

intbb[N];

intfun(chars[],intbb[],intnum)

{

inti,n=0;

for(i=0;i

{

if(【1】)

{

bb[n]=【2】;

n++;

}

}

return【3】;

}

main()

{

charstr[N];

intnum=0,n,i;

printf("Enterastring:

\n");

gets(str);

while(str[num])

num++;

n=fun(str,bb,num);

printf("\nbb=");

for(i=0;i

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

}

2.改错题

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

计算并输出k以内最大的6个能被7或11整除的自然数之和。

K的值由主函数传入,若k的值为500,则函数的值为2925。

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

注意:

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

试题程序:

#include

#include

intfun(intk)

{

intm=0,mc=0,j;

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

while(k>=2)&&(mc<6)

{

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

if((k%7=0)||(k%11=0))

{

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

m=k;

mc++;

}

k--;

}

returnm;

}

main()

{

clrscr();

printf("%d\n",fun(500));

}

 

3.编程题

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

求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

voidfun(int*a,int*n)

{

 

}

main()

{

intaa[1000],n,k;

clrscr();

fun(aa,&n);

for(k=0;k

if((k+1)%10==0)

{

printf("%5d",aa[k]);

printf("\n");/*一行写10个数*/

}

else

printf("%5d",aa[k]);

}

模拟试题(四)

1.填空题

从键盘输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun()。

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

从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。

例如:

当xx[8]={123,11,25,222,42,333,14,5451}时,

bb[4]={25,42,333,5451}。

注意:

部分源程序给出如下。

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

试题程序:

#include

#defineN1000

intfun(intxx[],intbb[],intnum)

{

inti,n=0;

intg,s;

for(i=0;i

{

g=【1】;

s=xx[i]/10%10;

if((g+s)>5)

【2】;

}

return【3】;

}

main()

{

intxx[N];

intyy[N];

intnum=0,n=0,i=0;

printf("Inputnumber:

\n");

do

{

scanf("%u",&xx[num]);

}

while(xx[num++]!

=0);

n=fun(xx,yy,num);

printf("\nyy=");

for(i=0;i

printf("%u",yy[i]);

}

2.改错题

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

根据形参m,计算下列公式的值。

t=1-1/2+1/3-1/4+…+(-1)(m+1)/m

例如,若输入5,则应输出0.。

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

注意:

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

试题程序:

#include

#include

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

intfun(intm)

{

doublet=1.0,j=1.0;

inti;

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

for(i=1;i

{j=-1*j;t+=j/i;}

returnt;

}

main()

{

intm;

clrscr();

printf("\nPleaseenter1integernumber:

");

scanf("%d",&m);

printf("\nTheresultis%lf\n",fun(m));

}

3.编程题

下列程序定义了N×N的二维数组,并在主函数中赋值。

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

求出数组周边元素的平方和并作为函数值返回给主函数中的s。

例如:

若a数组中的值为

a=01279

1112155

2216111

979102

54141

则返回主程序后s的值应为310。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#include

#defineN5

intfun(intw[][N])

{

 

}

main()

{

inta[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1};

inti,j;

ints;

clrscr();

printf("*****Thearray*****\n");

for(i=0;i

{for(j=0;j

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

printf("\n");

}

s=fun(a);

printf("*****THERESULT*****\n");

printf("Thesumis:

%d\n",s);

}

模拟试题(五)

1.填空题

请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!

”,否则返回“no!

”。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

char*fun(intn)

{

intg,s,b;

g=n%10;

s=n/10%10;

b=【1】;

if((g+b)==s)

return【2】;

else

return【3】;

}

main()

{

intnum=0;

clrscr();

printf("******Inputdata*******\n");

scanf("%d",&num);

printf("\n\n\n");

printf("******Theresult*******\n");

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

}

2.改错题

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

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

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

注意:

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

试题程序:

#include

#defineN20

voidfun(inta[],intn)

{

inti,j,t,p;

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

for(j=0;j

{

p=j;

for(i=j;i

if(a[i]>a[p])

p=i;

t=a[p];

a[p]=a[j];

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

a[p]=t;

}

}

main()

{

inta[N]={11,32,-5,2,14},i,m=5;

printf("排序前的数据:

");

for(i=0;i

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

printf("\n");

fun(a,m);

printf("排序后的顺序:

");

for(i=0;i

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

printf("\n");

}

3.编程题

输出9*9口诀。

程序分析:

分行与列考虑,共9行9列,i控制行,j控制列。

要求输出的乘法表和标准的乘法表相同,下列程序中请补入主要的部分。

#include"stdio.h"

voidmain()

{

inti,j,result;

 printf("\n");

 

}

模拟试题(六)

1.填空题

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

从一个字符串中截取前面若干个给定长度的子字符串。

其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。

例如:

当str1=“cdefghij”,然后输入4,则str2=“cdef”。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#defineLEN80

main()

{

charstr1[LEN],str2[LEN];

intn,i;

clrscr();

printf("Enterthestring:

\n");

gets(str1);

printf("Enterthepositionofthestring

deleted:

");

scanf(【1】);

for(i=0;i

【2】

str2[i]='\0';

printf("Thenewstringis:

%s\n",【3】);

}

2.改错题

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

依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。

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

注意:

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

试题程序:

#include

#include

voidfun(char*s)

{

inti,j;

for(i=0,j=0;s[i]!

='\0';i++)

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

if((s[i]>='A'&&s[i]<='Z')&&(s[i]>='a'&&s[i]<='z'))

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

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

s[j]="\0";

}

main()

{

charitem[80];

clrscr();

printf("\nEnterastring:

");

gets(item);

printf("\n\nThestringis:

\%s\n",item);

fun(item);

printf("\n\nThestringofchangingis:

\%s\n",item);

}

 

3.编程题

下列程序定义了N×N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),该函数的功能是:

使数组右上半三角元素中的值全部置成0。

例如a数组中的值为

a=456

179

326,

则返回主程序后a数组中的值应为

000

100

320

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#include

#defineN5

intfun(inta[][N])

{

 

}

main()

{

inta[N][N],i,j;

clrscr();

printf("*****Thearray*****\n");

for(i=0;i

{for(j=0;j

{a[i][j]=rand()%10;

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

}

printf("\n");

}

fun(a);

printf

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

当前位置:首页 > PPT模板 > 动物植物

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

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