《C语言程序设计》复习题库答案.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
24
积分
还剩页未读,继续阅读
关 键 词:C语言程序设计
答案.doc
C语言程序设计
C语言程序设计复习题库
C语言程序设计复习题库答案
C语言程序设计复习题
C 语言程序设计
C 语言程序设
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#includemain()
{
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为止。
#includemain()
{
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、求[100,999]之间所有的素数的个数。答案:143
int su_shu(int shu)
{
int i;
for(i=2;ivoid 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++ )
sum += a[j];
printf(" %ld\n",sum);
}
for(j=1;j<=10;j++)改为for(j=0;j<10;j++)或者for(j=0;j<=9;j++)
因为前面赋值时数组下标是从0开始的
13、 /*求1到2000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ 答案:61
#include int prime(int x)
{
int k;
for(k=2;kint prime(lo