《C语言程序设计》题库及答案文档格式.docx
- 文档编号:21208508
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:27
- 大小:33.82KB
《C语言程序设计》题库及答案文档格式.docx
《《C语言程序设计》题库及答案文档格式.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》题库及答案文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
}
for(k=1;
k<
=10;
k++)
total+=pm[k-1];
printf("
%d\n"
total);
5、求x=1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。
6、计算如下公式的A20值。
A1=1,A2=1/(1+A1),A3=1/(1+A2),A4=1/(1+A3),......(按四舍五入保留10位小数)。
答案:
0.6180339850
7、求[10,1600]之间能被7整除的奇数之和。
90965
8、函数mystrlen(char*s)的功能是求字符串s的长度。
请填空。
Intmystrlen(char*s)
{intnum=0;
while(){____;
return();
}
9、[100,500]之间同时满足除以7余5,除以5余3,除以3余1的整数之和。
1042
10、求[100,999]之间所有的素数的个数。
143
11、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。
110
12、/*数列1,2,1,4,7,12,23…具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7….。
下列程序的功能是求出该数列前10项的和。
请改正程序中的错误,并运行修改后的程序,给出程序结果。
)*/
答案:
311
longsum=0,a[30]={1,2,1};
intk,j;
for(k=3;
10;
a[k]=a[k-1]+a[k-2]+a[k-3];
for(j=1;
j<
j++)
sum+=a[j];
%ld\n"
sum);
13、/*求1到2000之间的双胞胎数的对数。
双胞胎数:
两素数差为2称为双胞胎数。
例如227和229是一对双胞胎数,它们都是素数且差为2。
*/答案:
61
intprime(intx)
intk;
for(k=2;
x;
k++)
if(__________)break;
if(k==x)return1;
elsereturn0;
voidmain()
{inta,b,n=0;
intprime(intx);
for(a=2;
a<
=1998;
a++)
{
if(prime(a)==1)
{b=a+2;
if(__________)n++;
%d\n"
n);
14、编写程序,统计200~400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。
4
15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?
9
16、爱因斯坦走台阶:
有一台阶,如果每次走两阶,最后剩一阶;
如果每次走三阶,最后剩两阶;
如果每次走四阶,最后剩三阶;
如果每次走五阶,最后剩四阶;
如果每次走六阶,最后剩五阶;
如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?
119
17、/*求1000以内最大的10个素数的和。
9664
intprime(longn)
longk;
=n-1;
if(____________)return0;
return1;
}
longt,total=0,num=0;
intprime(longn);
for(t=1000;
t>
=2;
t--)
if(____________)
total=total+t;
num++;
if(num==10)break;
\n%ld"
18、/*求1!
+2!
+3!
+...+7!
,7!
表示7的阶乘。
5913
longjc(longx)
longk,fac=1;
for(k=1;
________;
fac*=k;
________;
longn,sum=0;
longjc(longx);
for(n=1;
n<
=7;
n++)
19、求10000以内所有完数之和,"
完数"
是指:
一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:
6=1+2+3,则6就是一个完数。
所有变量用int数据类型定义!
8658
20、/*数列1,2,1,4,7,12,23…具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7….。
下列程序先给出数列的第一项
(1)、第二项
(2)、第三项
(1),再逐步计算其它项并保存在数组a中,最后求出该数列的第25项。
)*/答案:
1323525
conio.h>
#defineN30
longa[N];
clrscr();
a[0]=1;
a[1]=2;
a[2]=1;
=20;
a[k-1]);
21、/*求区间[200,3000]中所有回文数的和,回文数是正读与反读都是一样的数,如525,1551。
87970
inthws(longn)
longx=n,t=0,k;
while(x>
0)
k=x%10;
t=t*10+k;
x=x/10;
if(___________)return1;
longk,s=0;
inthws(longn);
for(k=200;
k<
=2000;
if(___________)
s=s+k;
s);
22、/*下面的程序是求表达式的值:
s=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+...+(1*2*3*...*n)/(3*5*7*...(2*n+1))请将程序补充完整,并给出当n=25时,程序的运行结果(按四舍五入保留10位小数)。
*/答案:
1.5707963267
doublefun(intn)
doubles=1.0,t=1.0;
doublertn=1.0;
=n;
k++)
t=t*k;
s=s*(2*k+1);
_________________
returnrtn;
doublesum;
__________
\n%.10lf"
23、已知:
Sn=2/1+3/2+4/3+…+(n+1)/n,求Sn不超过50的最大值(按四舍五入的方式精确到小数点后第三位)。
49.395
24、计算Y=X/1!
-X^3/3!
+X^5/5!
-X^7/7!
+……前20项的值(已知:
X=2)。
要求:
按四舍五入的方式精确到小数点后第二位。
0.91
25、若某正整数平方等于某两个正整数平方之和,称该正整数为弦数。
例:
3^2+4^2=5^2,则5为弦数,求[131,200]之间最小的弦数。
135
26、已知X,Y,Z为三个正整数,且X^2+Y^2+Z^2=25^2,求X+Y+Z的最大值。
43
27、猴吃桃:
有一天小猴子摘下了若干个桃子,当即吃掉一半,还觉得不过瘾,又多吃了一个。
第二天接着吃了剩下的桃子中的一半,仍不过瘾,又多吃了一个。
以后每天都是吃尚存桃子的一半零一个。
到第10天早上小猴子再去吃桃子时,看到只剩下一个桃子了。
问小猴子第一天共摘下了多少个桃子。
1534
28、求[1,50]之间的所有整数能构成直角三角形的三边的组数。
例如:
3*3+4*4=5*5,它们构成直角三角形,所以{3,4,5}作为一组,但{4,3,5}视为跟{3,4,5}相同的一组。
20
29、15元钱换成1元、2元、5元的票面,问有多少种不同的兑换方法?
输出所有的兑换方法。
18种
30、用迭代法求x等于a开平方的正数值。
迭代公式为:
xn+1=1/(2*(xn+a/xn)),要求直到前后两次求出的x的差的绝对值小于10-5为止。
A的值从键盘输入。
31、求最大的水仙花数,所谓水仙花数,指的是一个三位数,其各个数字的立方之和等于该数。
407
32、一球从100米的高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?
第10次反弹多高?
299.6093750.097656
33、编写程序,完成如下功能,输入8个float类型的实数,分别求最大值和最小值,保留三位小数输出最大值和最小值。
34、编写程序输出如下字符图形:
@@@@@@@@@@@
@@@@@@@@@@
…
@@
@
35、计算:
s=f(-30)+f(-29)+......+f(-1)+f(0)+f
(1)+......+f(30)的值。
其中函数定义如下:
f(x)=(x+1)/(x-2)如果x>
1;
f(x)=0如果x=0或x=2;
f(x)=(x-1)/(x-2)如果x<
0。
(按四舍五入保留6位小数)答案:
65.223018
36、编写程序输出如下字符图形(最后一行19颗星):
***
*****
*******
***…****
37、企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提 成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于 40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
38、计算下面公式的值。
T=1+1/(2*3)+1/(3*4)+……+1/(m*(m+1)),当m=50时的结果(按四舍五入保留6位小数)。
所有变量用double数据类型定义!
1.480392
39、程序填空:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:
利用while语句,条件为输入的字符不为'
\n'
.
charc;
intletters=0,space=0,digit=0,others=0;
pleaseinputsomecharacters\n"
while((c=getchar())!
='
)
if(c>
a'
c<
z'
||c>
A'
Z'
_________
elseif(c=='
'
elseif(c>
0'
9'
else
allinall:
char=%dspace=%ddigit=%dothers=%d\n"
letters,space,digit,others);
getch();
40、打印出如下图案(菱形)
*
***
*****
*******
*
41、求出[2,478]以内的:
(1)最大的素数。
*467
(2)素数数目。
*91
(3)所有素数之和。
*19580
42、已知:
(1)若N=10,求Y。
*1304735
(2)若N=15,求Y。
*1.184172E+07
43、已知:
其中:
X=0.25,n=1,2,┅,求:
(1)Y值(精确到小数点后第5位)*1.28767
(2)与
(1)匹配的最小的n*7
44、以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a、b、c的值。
读入后,a=10、b=20、c=30;
交换后,a=20、b=30、c=10。
#include<stdio.h>
{inta,b,c,t;
Entera,b,c:
"
);
scanf("
%d%d%d"
,___);
___;
a=b;
___;
a=%db=%dc=%d\n"
,a,b,c);
45.下面fun函数的功能是从a数组中查找值为y的元素;
若找到,返回该元素的下标值,若不存在值为y的元素,返回0;
数列放在a数组的a[1]到a[n]中,a[0]元素用来作为临时存储单元。
fun(inta[],inty,intn)
{intk=0;
a[0]=y;
k=n;
while()k--;
return();
46、/*下列程序的功能是求出二阶Fibonacci数列前10之和,1,1,2,3,5,8…。
3是第四项,5是第五项。
longsum=0,a[30]={1,1,2};
for(k=2;
a[k]=a[k-1]+a[k-2];
sum+=a[k];
47、20,160]之间的所有偶数的平方和。
694380
48、求[10,2000]之间能被2或3或5整除的数之和。
67795
49、求800以内的最大的20个素数之和。
14510
50、求当n=60时下式的和:
s=1+1/(1+2)+1/(1+2+3)+......+1/(1+2+3+......+n)(按四舍五入保留6位小数)。
1.967214
51、编写程序:
输入x的值,按照下列公式计算cos(x)
cos(x)=1-x2/2!
+x4/4!
-x6/6!
+...精确到10-5。
/*C11.717*/
inti;
longjc=1;
floats=0;
for(i=1;
i<
=5;
i++)
jc=jc*i;
s=s+1.0/jc;
%f"
/*C31533459*/
longi,c=0,t=0,g,s,b,q;
for(i=1001;
=9999;
i=i+2)
g=i%10;
s=i/10%10;
b=i/100%10;
q=i/1000;
if((g+s+b+q)%15==0)
c++;
t=t+i;
%ld"
t);
/*C46591*/
inti,s=0,c=0;
for(i=700;
i>
=1;
i--)
if(i%13==0||i%17==0)
s+=i;
if(c==10)break;
%d"
/*C56.058311*/
longi=5;
doubles=1;
while(1.0/i>
=1e-5)
s=s+1.0/i;
i=i+2;
%lf"
/*C60.6180339850*/
doublea=1;
for(i=2;
a=1.0/(1+a);
%.10lf"
a);
/*C790965*/
longi,s=0;
for(i=11;
=1600;
if(i%7==0)
s=s+i;
/*C91042*/
for(i=100;
=500;
if(i%5==3&
i%7==5&
i%3==1)
/*C10143*/
intc=0,i,j,p;
=999;
p=1;
for(j=2;
i;
j++)
if(i%j==0){p=0;
break;
if(p==1)c++;
c);
/*C11110*/
intc=0,i,q,b,s;
for(i=1000;
i=i+8)
if(q+b==b+s)c++;
/*C1361*/
#include"
fun.c"
main()
inta,b,n=0;
intprime(intx);
for(a=2;
if(prime(a)==1&
prime(a+2)==1)
n++;
/*C144*/
intc=0,i,g,s,b;
for(i=200;
=400;
b=i/100;
if(g+s+b==12&
g*s*b==42)
/*C159*/
intd,z,x,c=0;
for(d=1;
d<
=17;
d++)
for(z=1;
z<
=25;
z++)
x=30-d-z;
if(x>
=0&
d*3+z*2+x==50)
/*C16119*/
inttj,i,j;
for(tj=1;
tj>
=0;
tj++)
if(tj%2==1&
tj%3==2&
tj%4==3&
tj%5==4&
tj%6==5&
tj%7==0)break;
tj);
/*C198658*/
inti,s=0,w,j;
=10000;
w=0;
for(j=1;
if(i%j==0)w+=j;
if(w==i)s+=i;
/*C201323525*/
longa[25]={1,2,1};
for(i=3;
25;
a[i]=a[i-1]+a[i-2]+a[i-3];
a[24]);
/*C221.5707963166*/
#defineN24
inti,j;
doubles=1,s1,s2;
=N;
s1=1;
s2=1;
=i;
s1*=j;
s2*=(2*j+1);
s+=(s1/s2);
/*C2349.395*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 题库 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)