习题2 Page 040~043
一、选择题
1~5 BDBAB 6~8 CDC
二、填空题
1、整型 实型
2、a=2#b=3
3、temp=a b=temp
4、n%2==0
5、sqrt(s*(s-a)*(s-b)*(s-c))
6、#include<math.h> #include<stdio.h>
7、算数 关系 赋值
8、k=0#flag=1
9、顺序 分支 循环
10、i=1#s=1.000 i=2#s=1.500 i=3#s=1.833 i=4#s=1.833 (补充:左对齐)
三、程序设计题
1~4题
#include<stdio.h>
int main(void)
{
/*求整数均值(习题2.1)*/
int a,b,c,d,sum=0;
double average;
printf("Enter a,b,c,d:");
scanf("%d%d%d%d",&a,&b,&c,&d);
sum=a+b+c+d;
average=sum/4.0;
printf("average=%.1lf\n",average);
printf("\n");
/*阶梯电价(习题2.2)*/
double x,y;//x为用户月用电量,单位为千瓦每时。y为电费,单位 元。
printf("Enter x:");
scanf("%lf",&x);
if(x<0){
printf("Invaild Value!\n");
}
else if(x<=50){
y=0.53*x;
printf("y=%lf\n",y);
}
else if(x>50){
y=0.53*50+(x-50)*0.58;
printf("y=%lf\n",y);
}
printf("\n");
/*序列求和(习题2.3)*/{
int m,n,i;
double sum=0;
printf("Enter m,n(0<m<=n):");
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
sum+=i*i+1.0/i;
}
printf("∑=%lf\n",sum);}
printf("\n");
/*求交错序列的前n项和(习题2.4)*/{
int i,n,flag=1;
double sum=0;
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=(double)flag*i/(2*i-1);
flag=-flag;
}
printf("sum=%lf\n",sum);}
return 0;
}
5题
#include<stdio.h>//习题2.5 平方根求和
#include<math.h>
double sqrt(int n);
int main(void)
{
int n,i;//或者把i定义为double类型
double sum=0;
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=sqrt(double(i));//可改为sum+=sqrt(i);
}
printf("sum=%.2lf\n",sum);
return 0;
}
double sqrt(int n)
{
int i;
double result=0;
for(i=1;i<=n;i++)
{
result+=sqrt(i);
}
return result;
}
6题
#include<stdio.h>// 习题2.6
double fact(int n)
{
int i;
double product=1;
for(i=1;i<=n;i++)
{
product*=i;
}
return product;
}
int main(void)
{
int n,e=0,i;
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
e+=fact(i);
}
printf("e=%d",e);
return 0;
}
更多推荐
《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案
发布评论