C语言考试题Word文档格式.docx
- 文档编号:20865958
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:44
- 大小:715.49KB
C语言考试题Word文档格式.docx
《C语言考试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言考试题Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
{
pd(500);
/*三、改错题(21分)。
输入一个字符判断是否是大写字母,如果是将它转换成小写字母后输出;
如果不是,不转换直接输出。
请改正/****found****/下一行语句中的错误,并调试出正确
结果。
不得增加或删减程序行,且不得修改其它行。
*/
string.h>
voidzh(charx)
{
if(x>
='
A'
&
x<
Z'
)
/*************found***************/
{x-=32;
%c\n"
x);
break;
charch;
/************found****************/
%c"
&
ch);
zh(ch);
}/*四、编程题(35分)。
从键盘输入10个整数求其中的最大值。
不允许改动预编译命令行及主程序,且必须运行程序。
intfun(intb[],intn);
intmax;
inti,a[10];
for(i=0;
i<
10;
i++)
scanf("
%d"
a[i]);
max=fun(a,10);
max=%d"
max);
intfun(intb[],intn)
1、12、23、34、45、36、37、38、49、310、2
二、填空题(24分)。
向屏幕输出200-500之间的“水仙花数”,并统计其个数输出。
所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。
例如:
将适当的关键字或符号填入“__数值__”位置,并将“__数值__”删除,使程序得到正确结果。
不许增减程序行,且不得修改其它部分。
答案:
1、count=0;
2、if(n==i*i*i+j*j*j+k*k*k)
3、printf("
三、改错题(21分)。
请改正/****found****/下一行语句中的错误,并调试出正确结果。
1、{ch+=32;
{ch=ch+32;
{ch=32+ch;
{ch=ch+'
a'
-'
;
2、else
3、scanf("
scanf("
四、编程题(35分)。
编程题参考程序
intmax;
inti;
max=b[0];
for(i=1;
n;
i++)
if(max<
b[i])
max=b[i];
returnmax;
1、()2、()3()4()5()6()7()8()9()10()/*二、填空题(24分)。
已知数组a中存放了25个1到100之间的素数。
从键盘录入一个1到100之间的整数x,
判断是不是1-100间的素数,如果是,则同时输出其在数组中出现的位置;
如果不是,则输出不是素数
的信息。
#defineCOUNT25
voidpd(inta[])
{inti,x;
inputx(1-100):
x);
COUNT;
if(a[i]__1__x)break;
if(i<
__2__)
%distheNO.%doftheseprimenumber.\n"
x,i+1);
else
%disnotaprimein1-100.\n"
ints[COUNT]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};
pd(s);
}/*三、改错题(21分)。
输入一个正整数,然后按反向输出。
如:
输入12345,输出为:
54321。
请改正/****found****/下一行语句中的错误,并调试出正确结果。
math.h>
voidpro(longintdig)
longintm;
outputnumber:
\n"
while(dig!
=0)
/****************found**********/
{m=dig*10;
%ld"
m);
/*****************found**********/
dig=dig%10;
longintdig;
inputaintegernumber:
/*****************found***********/
dig);
pro(dig);
}/*四、编程题(35分)。
从键盘输入一个不多于5位的正整数,求它是几位数。
#include"
stdio.h"
intlen(longy);
longx;
intk;
pleaseinputainteger:
while(x<
0||x>
99999)
inputdataerror!
\npleaseinputagain:
k=len(x);
length=%d\n"
k);
intlen(longy)
一、
1、32、23、44、15、26、27、18、39、210、4
从键盘录入一个1到100之间的整数x,判断是不是1-100间的素数,如果是,则同时输出其在数组中出现的位置;
如果不是,则输出不是素数的信息。
1、if(a[i]==x)break;
2、if(i<
COUNT)
25)
=24)
COUNT-1)
1、m=dig%10;
2、dig=dig/10
3、scanf("
n);
四、编程题参考程序
intcount=0;
do
count++;
y=y/10;
}while(y!
=0);
returncount;
1、2、3、4、5、6、7、8、9、10、
从键盘输入一个不大于5位的正整数,反向输出它的每一位,并统计
它的位数。
删除,
使程序得到正确结果。
voidpro(longx)
intb,k=0;
while(x>
0)
{b=x__2__10;
%d"
b);
k++;
x=x/10;
k=%d\n"
__3__);
{longx;
__1__);
pro(x);
输入一个正整数,输出其素数因子的乘积。
输入60,输
出60=2*2*3*5。
请改正/****found****/下一行语句中的错误,并调试出正确结果。
voidpro(intk)
{inti=2;
while(k!
=0&
i<
=k)
{
/****************found**********************/
if(k%i=0)
k)
%3d*"
i);
k=k/i;
i=2;
}
%3d"
elsei++
{intk;
%d="
pro(k);
/*四、编程题(35分)。
找出已知字符串中ASCII值最大的字符(即按字典顺序排在最后的
字符),在主函数中输出该字符。
#include<
charfac(charx[],intn);
char*p;
chara[]={"
jgysktidmg"
},max;
intm;
p=a;
m=strlen(p);
max=fac(p,m);
max=%c"
charfac(charx[],intn)
1、42、23、24、15、26、17、18、39、410、2
从键盘输入一个不大于5位的正整数,反向输出它的每一位,并统计它的位数。
二、
1、scanf("
2、{b=x%10;
n=%d\n"
输入60,输出60=2*2*3*5。
请改正/****found****/下一行语句中的错误,并调试出正确结果。
三、
k);
2、if(k%i==0)
if(k/i*i==k)
if((k/i*i)==k)
3、elsei++;
elsei=i+1;
elsei+=1;
elsei=1+i;
else++i;
找出已知字符串中ASCII值最大的字符(即按字典顺序排在最后的字符),在主函数中输出该字符。
4、编程题参考程序
找字符串中ASCII码值最大的数据。
charmax;
inti;
max=x[0];
for(i=1;
n;
if(max<
x[i])
max=x[i];
输入一个字符串,找出其中数字,字母,空格,其他字符各多少个。
将适当
的关键字或符号填入"
intzm=0,kg=0,qt=0;
intfac(chars[])
{inti=0,sz=0;
while(s[i]!
\0'
{
if(s[i]>
&
s[i]<
z'
||s[i]>
__1__s[i]<
zm++;
elseif(s[i]>
0'
9'
sz++;
elseif(s[i]=='
'
kg++;
else__2__;
__3__;
return(sz);
{chara[90];
gets(a);
m=fac(a);
sz=%4d\nzm=%4d\nkg=%4d\nqt=%4d"
m,zm,kg,qt);
输入a、b、c三个整数,按大小顺序输出。
不得增加或删减
程序行,且不得修改其它行。
swap(int*p1,int*p2)
inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
/**************found****************/
fac(int*q1,*q2,*q3)
if(*q1<
*q2)swap(q1,q2);
*q3)swap(q1,q3);
if(*q2<
*q3)swap(q2,q3);
inta,b,c;
/***************found*****************/
intp1,*p2,*p3;
%d%d%d"
a,&
b,&
c);
/***************found*****************/
p1=a;
p2=&
b;
p3=&
c;
fac(p1,p2,p3);
\n%d,%d,%d\n"
a,b,c);
完善程序,编写一个max函数,求键盘录入的三个数当中的最大值。
intmax(inta,intb,intc)
inta,b,c;
printf("
max(a,b,c));
1、42、13、14、45、16、27、38、39、310、2
1、if(s[i]>
s[i]<
||s[i]>
Z'
2、elseqt++;
elseqt=qt+1;
elseqt=1+qt;
elseqt+=1;
3、i++;
i=i+1;
i=1+i;
i+=1;
1、fac(int*q1,int*q2,int*q3)
2、int*p1,*p2,*p3;
3、p1=&
a;
p2=&
p3=&
p1=&
p1=&
intz=a;
if(z<
b)z=b;
c)z=c;
returnz;
输入3个正整数,按由小到大的顺序输出。
swap(int*p1,int*p2);
intn1,n2,n3;
int*p1,*p2,*p3;
Inputthreeintegersn1,n2,n3:
%d,%d,%d"
n1,&
n2,&
n3);
n1;
p2=__1__;
n3;
if(n1>
n2)swap(p1,p2);
n3)__2__;
if(n2>
n3)swap(p2,p3);
\nNow,theorderis:
%d,%d,%d\n"
n1,n2,n3);
voidswap(int*p1,int*p2)
intt;
t=*p1;
*p1=__3__;
*p2=t;
从键盘输入一个整型数m,根据以下公式计算值
t=1+1/2+1/3+....+1/m
例如,当m输入5时,则输出2.283333
不得增加或删减程序行,且不得修改其它行。
/************found**********/
doubleMyx(intm);
doublet=1.0;
inti;
for(i=2;
=m;
t+=1/(float)(i);
return(t);
doublesum=0;
\nPleaseenteraintegernumber:
);
m);
/************found***********/
sum=Myx(intm);
/************found***********/
\nTheresultis%f\n"
编写程序计算下列序列的值:
从键盘录入整数N的值,求序列
sum=1+1/(1*2)+1/(2*3)+1/(3*4)+……+1/(N*(N+1))
最后向屏幕输出结果。
当输入10时,输出约为1.909091
不允许改动预编译命令行及主程序,且必须运行程序。
floatsum(intx)
floats=1;
scanf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试题