份二级C语言填空题Word格式.docx
《份二级C语言填空题Word格式.docx》由会员分享,可在线阅读,更多相关《份二级C语言填空题Word格式.docx(71页珍藏版)》请在冰豆网上搜索。
{t=2.0*i;
是1到n。
s=s+(2.0*i-1)*(2.0*i+1)/__3__;
填入:
(t*t)。
此处计算s
}的和,通项中缺少了分母,
returns;
根据公式可知应填入(t*t)
}记住不能缺少小括号。
main()
{intn=-1;
printf("
\nTheresultis:
%f\n"
fun(n));
}
25、给定程序中,函数fun的功能是计算下式
doublefun(doublee)
doubles,x;
s=0;
i=__1__;
此处很多考生容易填入1,
x=1.0;
和第2个空联系起来,则只能填入0
while(x>
e){
__2__;
i++。
循环中必定有i++,不过
一般都是在循环体中的最后,此题比较
特殊,在前面。
如果将i++放到s=s+x;
语句后面,则第一个空就只用填i=1。
/**********found**********/
x=(2.0*i-1)/((__3__)*(2.0*i));
填入:
2.0*i。
此处计算通
s=s+x;
项x的值,通项缺少分母,
}根据公式可知应填入2.0*i。
{doublee=1e-3;
fun(e));
29、
{inti,k;
k=__1__;
填入:
1。
=n;
i++){
t=__2__;
s=s+k*(2*i-1)*(2*i+1)/(t*t);
k=k*__3__;
-1。
}
36、给定程序中,函数fun的功能是计算下式
例如:
若形参e的值为1e-3,函数的返回值为0.551690。
doubles,t,x;
k=1;
i=2;
x=__1__/4;
3。
while(x__2__e)填入:
>
。
{s=s+k*x;
k=k*(-1);
t=2*i;
x=__3__/(t*t);
(t+1)。
i++;
最新热门考题1:
doublefun(doublex)
{doublef,t;
intn;
f=1.0+x;
t=___1___;
n=1;
do{
n++;
t*=(-1.0)*x/___2___;
f+=t;
while(___3___>
=1e-6);
fabs(t)。
fabs(t)求t的
returnf;
绝对值。
要求计算绝
}对值。
{doublex,y;
x=2.5;
y=fun(x);
最新热门考题2:
doublefun(doublex,intn)
inti;
f=___1___;
公式中第一项1很特殊,
t=-1;
通项中假设n的值为1,则第1项
for(i=1;
n;
i++)的值为x,1不属于通项的值。
{注意:
如果i从2开始,则f=1+x
t*=(___2___)*x/i;
-1.0。
f+=___3___;
t。
y=fun(x,15);
最新热门考题3:
f=1.0+___1___;
x。
因为n=1,并且在循环
t=x;
体中先执行n++,因此相关于n
的值从2开始。
t*=x/___2___;
i。
}while(fabs(t)>
最新热门考题4:
f=1.0;
for(i=___2___;
i++)填入:
{
t*=x/___3___;
y=fun(x,12);
二、整数类型题目(题目简单,用对比法进行复习效果最好)
该类题目的重点考点:
(1)如果返回的是和,则求和变量sum要赋初值为0;
(2)一个整数n:
n%10的结果为个位,n/10结果为去掉个位。
123%10结果为3,123/10结果为12。
1、函数的功能:
找出100~999之间(含100和999)所有整数中各位数字之和为x的整数,符合条件的个数作为函数值返回。
fun(intx)
{intn,s1,s2,s3,t;
n=0;
t=100;
while(t<
=__1__){填入999。
s1=t%10;
s2=(__2__)%10;
s3=t/100;
填入:
t/10
if(s1+s2+s3==__3__)填入:
x
{printf("
%d"
t);
答案分析:
(1)题目要求找出100~999之间的整数,t被赋值为100,因此第一个空填入999。
(2)题目要求各位数字之和,s1=t%10得到个位,
s2=(t/10)%10;
得到十位,s3=t/100得到百位。
(3)各位数字之和为x的整数,因此第三个空填入x。
t++;
returnn;
{intx=-1;
%d\n"
fun(x));
↑
2、函数的功能:
找出100至x(x<
=999)所有整数中各位章数字之和为15的整数,符合条件的个数作为函数值返回。
n=__1__;
填入:
=__2__)填入:
999。
{s1=t%10;
s2=(t/10)%10;
if(s1+s2+s3==15)
__3__;
t++。
3、函数的功能是:
将形成n所指变量中,各位上为偶数的数去除,剩余的数按原来从高到低位的顺序组成一个新的数,并通过形成指针n传回所指变量。
例如,输入一个数:
27638496,新的数为:
739。
voidfun(unsignedlong*n)
{unsignedlongx=0,i;
intt;
i=1;
while(*n)
{t=*n%__1__;
10。
if(t%2!
=__2__)填入:
{x=x+t*i;
i=i*10;
*n=*n/10;
*n=__3__;
{unsignedlongn=-1;
fun(&
n);
函数的功能是:
统计长整型n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。
intc1,c2,c3;
voidfun(longn)
{c1=c2=c3=0;
while(n){
switch(___1___)填入:
n%10。
case1:
c1++;
___2___;
break。
如果/**********found**********/不加break则会每一次
都执行cese2,case3。
case2:
c2++;
___3___;
case3:
c3++;
n/=10;
{longn=123114350L;
fun(n);
从三个形参a,b,c中找出中间的那个数,作为函数值返回。
例如,当a=3,b=5,c=4时,中间的数为4。
intfun(inta,intb,intc)
{intt;
t=(a>
b)?
(b>
c?
b:
(a>
c:
___1___)):
((a>
c)?
___2___:
((b>
___3___));
第一个空填入:
b
returnt;
第二个空填入:
a
第三个空填入:
}注意:
该题理解起来比较困难,因此建立直接记忆!
{inta1=3,a2=5,a3=4,r;
r=fun(a1,a2,a3);
关于素数:
(1)只能被1和它自身整除的数,最小的素数是2,不是1。
(2)判断变量i是否值素数,只要用i除以2、3、4……n-1,如果有任何一个结果为0,则不是素数,否则是素数。
统计所有小于等于n(n>
2)的素数的个数,素数的个数作为函数值返回。
intfun(intn)
{inti,j,count=0;
\nTheprimenumberbetween3to%d\n"
n);
for(i=3;
for(___1___;
j<
i;
j++)填入:
j=2。
if(___2___%j==0)填入:
break;
if(___3___>
=i)填入:
j。
{count++;
printf(count%15?
"
%5d"
:
"
\n%5d"
i);
returncount;
{intn=20,r;
r=fun(n);
用筛选法可得到2~n(n<
10000)之间的所有素数,方法是:
首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);
接着从数表中找到一个非0数,并从数表中删去该数的所有倍数;
依次类推,直到所找的小一个数等于n为止。
{inta[10000],i,j,count=0;
for(i=2;
i++)a[i]=i;
i=2;
while(i<
n){
for(j=a[i]*2;
j+=___1___)填入:
a[j]=0;
while(___2___==0)填入:
a[i]。
\nTheprimenumberbetween2to%d\n"
i++)
if(a[i]!
=___3___)填入:
a[i]);
最新热门考题5:
甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,丙每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。
根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。
#defineOK(i,t,n)((___1___%t==0)&
&
(i/t<
n))
intfun(intt1,intt2,intt3,intt4,intn)
{intcount,t,maxt=t1;
if(maxt<
t2)maxt=t2;
t3)maxt=t3;
t4)maxt=t4;
count=1;
/*给count赋初值*/
for(t=1;
t<
maxt*(n-1);
___2___)填入:
if(OK(t,t1,n)||OK(t,t2,n)||OK(t,t3,n)||OK(t,t4,n))
count++;
return___3___;
count。
{intt1=7,t2=5,t3=6,t4=4,n=10,r;
r=fun(t1,t2,t3,t4,n);
三、一维数组考题
(2)数组的下标从0开始,到长度减1结束。
(3)必考点,谨记两个数组的赋值形式:
a[j++]=a[i];
或者为:
a[j]=a[i];
j++;
(4)判断数组中元素是否为偶数:
a[i]%2==0
(4)一维数组的排序个数如下:
(红色部分常考)
for(i=0;
i<
n-1;
i++)
for(j=i+1;
j<
j++)
if(a[i]大于或小于a[j])其中if表达式中:
大于表示从大到小排序,小于表示从小到大排序。
(5)两个数据的交换格式:
t=a;
a=b;
b=t;
(6)两个数组元素的交换格式:
t=a[i];
a[i]=a[j];
a[j]=t;
(7)找最大值:
if(max<
a[j])max=a[j];
这种格式超级重点。
找最小值:
if(min>
a[i])min=a[i];
61、函数的功能是:
把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数返回。
#defineN9
intfun(inta[],intn)
{inti,j;
j=0;
for(i=0;
if(a[i]%2==___1___)填入:
a[i]%2结果为1
{表示a[i]是奇数。
a[j]=a[i];
___2___;
j++。
这个不多说。
{intb[N]={9,1,4,2,3,6,5,8,7},i,n;
n=fun(b,N);
71、函数的功能是:
把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数返回。
if(___1___==0){填入:
a[i]%2。
___2___=a[i];
j++;
a[j]。
64、函数的功能是:
将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
a所指数组中的数据依次为:
1、2、3、4、6、7、8、9,则调换后为:
6、7、8、9、5、1、2、3、4。
voidfun(inta[],intn)
{inti,t,p;
p=(n%2==0)?
n/2:
n/2+___1___;
n/2;
t=a[i];
a[i]=a[p+___2___];
___3___=t;
a[p+i]。
交换,记住交换的
}形式即可做出来。
{intb[N]={1,2,3,4,5,6,7,8,9},i;
fun(b,N);
99、函数的功能是:
把形参a所指数组中的最小值放在元素a[0]中,