c语言程序设计a题库,《C语言程序设计》复习题库答案

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

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

main()

{

float T=0,m,n=1;

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

{

n=n*m;

T=T+1.0/n;

}

printf("%.3f\n",T);

}

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

#include "stdio.h"

#include "conio.h"

main()

{

_____________

printf(" *\n");

_____________

_____________

getch();

}

#include

#include

main()

{

printf(" ***\n");

printf("*\n");

printf("*\n");

printf(" ***\n");

}

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

long Zi_hanshu(long shu)

{

long ge,shi,bai,qian;

ge=shu%10;

shi=shu%100/10;

bai=shu%1000/100;

qian=shu/1000;

if((ge+shi+bai+qian)%15==0)

return 1;

else

return 0;

}

main()

{

long i,s=0;

for(i=1001;i<=9999;i+=2)

{

if(Zi_hanshu(i)==1)

s+=i;

}

printf("这样的数的总和是%d\n",s);

}

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

#include

void main()

{

int total=0, mc=1, k=700;

int pm[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);

}

主函数中变量赋初值时mc=1改为mc=0

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

#include

main()

{

int i=5;

float n=1,x=0;

while(fabs(n)>=1e-5)

{

x+=n;

n=1.0/i;

i+=2;

}

printf("1+1/5+1/7+1/9+…=%f\n",x);

}

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

main()

{

double A1=1,A2;

int i;

for(i=1;i<20;i++)

{

A2=1.0/(A1+1);

A1=A2;

}

printf("A20=%.10f\n",A1);

}

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

main()

{

int jishu,s=0;

for(jishu=11;jishu<=1600;jishu+=2)

if(jishu%7==0)

s+=jishu;

printf("%d\n",s);

}

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

Int mystrlen(char *s)

{int num=0;

while( ) {____;}

return ( );

9、[100,500]之间同时满足除以7余5,除以5余3,除以3余1的整数之和。答案:1042

main()

{

int shu,s=0;

for(shu=100;shu<=500;shu++)

if(shu%7==5&&shu%5==3&&shu%3==1)

s+=shu;

printf("%d\n",s);

}

10、

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值