《C语言程序设计》复习50题Word格式.docx

上传人:b****4 文档编号:16048488 上传时间:2022-11-17 格式:DOCX 页数:16 大小:32.47KB
下载 相关 举报
《C语言程序设计》复习50题Word格式.docx_第1页
第1页 / 共16页
《C语言程序设计》复习50题Word格式.docx_第2页
第2页 / 共16页
《C语言程序设计》复习50题Word格式.docx_第3页
第3页 / 共16页
《C语言程序设计》复习50题Word格式.docx_第4页
第4页 / 共16页
《C语言程序设计》复习50题Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》复习50题Word格式.docx

《《C语言程序设计》复习50题Word格式.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》复习50题Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》复习50题Word格式.docx

%.3f"

T);

2、程序填空:

用*号输出字母C的图案。

#include"

stdio.h"

conio.h"

{

_____________

 

*\n"

);

getch();

3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。

编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。

所有变量用long数据类型定义!

)答案:

1533459

#include<

{longa,b,c,d,s,n;

s=0;

for(n=1000;

n<

=9999;

n++)

{if(n%2==1)

{a=n/1000%10;

b=n/100%10;

c=n/10%10;

d=n%10;

if((a+b+c+d)%15==0)

s=s+n;

%ld"

s);

4、/*下面程序的功能是:

计算并输出700以内的最大的10个能被13或者17整除的自然数之和。

请改正程序中的错误,并运行,最后给出程序运行的正确结果。

只有一处错误!

)*/答案:

6591

voidmain()

{

inttotal=0,mc=1,k=700;

改成mc=0

intpm[10],count=0;

while((k>

=2)&

&

mc<

=10)

{

if((k%13==0)||(k%17==0))

pm[mc]=k;

mc++;

}

k--;

}

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为止。

5、#include<

math.h>

6、#include<

7、main()

8、{

9、floatx,t;

10、x=1,t=5;

11、do

12、{x=x+1/t;

13、t=t+2;

}while(abs(1/t)>

0.0001);

14、printf("

%f"

x);

15、}

16、

6、计算如下公式的A20值。

A1=1,A2=1/(1+A1),A3=1/(1+A2),A4=1/(1+A3),......(按四舍五入保留10位小数)。

答案:

0.6180339850

{doublen,x;

x=1;

for(n=2;

=20;

x=1/(1+x);

%.10lf"

7、求[10,1600]之间能被7整除的奇数之和。

90965

8、函数mystrlen(char*s)的功能是求字符串s的长度。

请填空。

Intmystrlen(char*s)

{intnum=0;

while(){____;

return(0);

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++)改成j=0

sum+=a[j];

%ld\n"

sum);

13、/*求1到2000之间的双胞胎数的对数。

双胞胎数:

两素数差为2称为双胞胎数。

例如227和229是一对双胞胎数,它们都是素数且差为2。

*/答案:

61

intprime(intx)

intk;

for(k=2;

x;

k++)

if(__________)break;

x%k==0

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++;

prime(b)==1

%d\n"

n);

14、编写程序,统计200~400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。

4

15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?

9

16、爱因斯坦走台阶:

有一台阶,如果每次走两阶,最后剩一阶;

如果每次走三阶,最后剩两阶;

如果每次走四阶,最后剩三阶;

如果每次走五阶,最后剩四阶;

如果每次走六阶,最后剩五阶;

如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?

119

{inta;

for(a=1;

;

if(a%2==1&

a%3==2&

a%4==3&

a%5==4&

a%6==5&

a%7==0)

break;

%d"

a);

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;

=7;

19、求10000以内所有完数之和,"

完数"

是指:

一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:

6=1+2+3,则6就是一个完数。

所有变量用int数据类型定义!

8658

20、#include<

21、main()

22、{intn,a,d,sum;

23、sum=0;

24、for(n=2;

=10000;

25、{d=0;

26、for(a=2;

n;

27、{if(n%a==0)

28、d=d+a;

29、if(d+1==n)

30、sum=sum+n;

31、printf("

32、

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;

k++)改为k<

=24

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;

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*

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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