好文档 - 专业文书写作范文服务资料分享网站

语言程序设计复习题

天下 分享 时间: 加入收藏 我要投稿 点赞

《C语言程序设计》复习题库

1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717 #include main()

{float T,m,i,n; T=0;

for(m=1;m<=5;m++) {n=1;

for(i=1;i<=m;i++) {n=n*i;} T=T+(1/n);}

printf(\

2、程序填空:用*号输出字母C的图案。

#include \#include \main() {

_____________ printf(\ _____________ _____________ getch(); } 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:1533459 #include main()

{long a,b,c,d,s,n; s=0;

for(n=1000;n<=9999;n++) {if(n%2==1) {a=n/1000; b=n/100; c=n/10; d=n;

if((a+b+c+d)==0) s=s+n;} }

printf(\

4、 /*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/ 答案:6591 #include void main() {

int total=0, mc=1, k=700; 改成mc=0 int pm[10],count=0;

while( (k>=2) && mc<=10 ) {

if ((k==0) || (k==0)) {

pm[mc] = k; mc++; } k--; }

for( k=1;k<=10;k++ ) total += pm[k-1]; printf(\ }

5求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10为止。

-5

5、#include 6、#include 7、main() 8、{

9、 float x,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(\15、} 16、

6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。答案:0.6180339850 #include main()

{ double n,x; x=1;

for(n=2;n<=20;n++) x=1/(1+x);

printf(\}

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

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

Int mystrlen(char *s) {int num=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 #include void main() {

long sum=0,a[30]={1,2,1}; int k,j;

for( k=3;k<10;k++ )

a[k] = a[k-1]+a[k-2]+a[k-3]; for( j=1;j<=10;j++ ) 改成j=0 sum += a[j];

printf(\ }

13、 /*求1到2000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ 答案:61 #include int prime(int x) {

int k;

for(k=2;k

if(__________) break; x%k==0 if(k==x) return 1; else return 0; }

void main( )

{ int a,b,n=0;

int prime(int x); for(a=2;a<=1998;a++) {

if(prime(a)==1) { b=a+2;

if(__________) n++; prime(b)==1 }

printf(\}

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

15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?答案:9 16、爱因斯坦走台阶:有一台阶,如果每次走两阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶;如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?答案:119 #include void main() {int a;

for(a=1;;a++)

if(a%2==1&&a%3==2&&a%4==3&&a%5==4&&a%6==5&&a%7==0) break;

printf(\

17、 /*求1000以内最大的10个素数的和。*/ 答案:9664 #include int prime(long n) {

long k;

for(k=2;k<=n-1;k++)

if(____________) return 0; return 1; }

void main( ) {

long t,total=0,num=0; int prime(long n); for(t=1000;t>=2;t--) {

if(____________) {

total=total+t; num++; }

if(num==10)break; }

printf(\}

18、 /*求1!+2!+3!+...+7!,7!表示7的阶乘。*/ 答案:5913

#include long jc( long x) {

long k,fac=1;

for(k=1;________;k++) fac *=k ; ________; }

void main( ) {

long n,sum=0; long jc(long x); for(n=1;n<=7;n++) ________; printf(\}

19、求10000以内所有完数之和,\完数\是指:一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:6=1+2+3,则6就是一个完数。(注:所有变量用int数据类型定义!) 答案:8658

20、#include 21、main()

22、{int n,a,d,sum; 23、sum=0;

24、for(n=2;n<=10000;n++) 25、{d=0;

26、for(a=2;a

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 #include

语言程序设计复习题

《C语言程序设计》复习题库1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m!当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717#includemain(){floatT,m,i,n;T=0;
推荐度:
点击下载文档文档为doc格式
0734n1ddrz9mzf00wrvr0a0pl1szli00hfu
领取福利

微信扫码领取福利

微信扫码分享