《C语言程序设计》第4版何钦铭、颜晖主编课后习题答案第5章习题5-创新互联
P118~122
专注于为中小企业提供成都做网站、成都网站制作、成都外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业柘荣免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。一、选择题
1~6 D B C A D C
二、填空题
1、2#3#5#7#
2、int fun(int m) fun(n) int m m=m/10 old_digit=cur_digit
3、char ch printf("Yes.");break; printf("No!"); YesNo(ch);
三、程序设计题
1、
#include//习题5.1
int sign(int x)
{
int f;
if(x<0){
f=-1;
}
else if(x>0){
f=1;
}
else f=0;
return f;
}
int main(void)
{
int x,y;
printf("Enter x:");
scanf("%d",&x);
y=sign(x);
printf("f(x)=%d",y);
return 0;
}
2、
#include//习题5.2
int even(int n)
{
if(n%2==0){
return 1;
}
else return 0;
}
int main(void)
{
int n,sum=0;
printf("Enter n:");
while(n>0){
scanf("%d",&n);
even(n);
if(even(n)==0){//调用函数返回值为0时,奇数和。当even(n)==1时,偶数和。
sum+=n;
}
}
printf("sum=%d",sum);
return 0;
}
3、
#include//习题5.3
#includedouble dist(double x1,double y1,double x2,double y2)
{
double s=0;
s=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
return s;
}
int main(void)
{
double x1,y1,x2,y2,X;
printf("Enter x1,y1,x2,y2:");
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
X=dist(x1,y1,x2,y2);
printf("X=%.2lf",X);
return 0;
}
4、
#include//习题5.4
#includeint prime(int m)//判断m是否为素数
{
int j;
if(m<=1){
return 0;
}
else if(m==2){
return 1;
}
else {
for(j=2;j<=sqrt(m)+1;j++)
{
if(m%j==0){
return 0;
}
else return 1;
}
}
}
int main(void)
{
int m,n,i,sum=0,count=0;
printf("Enter m,n(m>=1,n<=500):");
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)//将i的值传到自定义函数里
{
if(prime(i)==1){
sum+=i;
count++;
}
}
printf("%d~%d之间的素数个数为%d,和为%d",m,n,count,sum);
return 0;
}
5、
#include//习题5.5
int countdigit(int number,int digit)
{
int count=0;
while(number>0){
if(number%10==2){
count++;
}
number=number/10;
}
return count;
}
int main(void)
{
int number,digit=2,count;
printf("Enter number:");
scanf("%d",&number);
count=countdigit(number,digit);
printf("%d中的%d的个数为%d\n",number,digit,count);
return 0;
}
6、
#include//习题5.6
#includeint is(int number)
{
int x,sum,y;
y=number;
sum=0;
do{
x=y%10;
sum+=pow(x,3);
y=y/10;
}while(y>0);
if(sum==number){
return sum;
}
else return 0;
}
int main(void)
{
int m,n,i,result=0;
printf("Enter m,n(m>=1,n<=1000):");
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
result=is(i);
if(result>=m&&result<=n){
printf("%d\n",result);
}
}
return 0;
}
7、
#include//习题5.7
#includedouble fact(int n)
{
int i;
double f=1;
for(i=1;i<=n;i++)
{
f*=i;
}
return f;
}
double fumcos(double e,double x)
{
int flag=1,i=0;
double cosx=0,item=1;//item 必须为1,才能进while循环 。cosx为0,则直接从第一项开始累加
while(fabs(item)>=e){
item=flag*pow(x,i)/fact(i);
cosx+=item;
i+=2;
flag=-flag;
}
cosx+=item;
return cosx;
}
int main(void)
{
double e,x;
printf("Enter e:");
scanf("%lf",&e);
printf("Enter x:");
scanf("%lf",&x);
printf("cosx=%lf",fumcos(e,x));
return 0;
}
8、
#include//习题5.8
void hollow_pyramid(int n)
{
int i,j;
for(i=1;i
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻名称:《C语言程序设计》第4版何钦铭、颜晖主编课后习题答案第5章习题5-创新互联
网页路径:http://azwzsj.com/article/dipphh.html