《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案 第5章 习题5 P121

1.使用函数计算分段函数的值

#include<stdio.h>
#include<string.h>
//#define n1000
#define t10000
#include <math.h>
int main(void)
{
	int x;
	scanf("%d",&x);
	if(x>0) printf("1");
	else if(x==0)printf("0");
	else printf("-1");
	
	return 0;
}

2.使用函数求奇数和:

#include<stdio.h>
#include<string.h>
//#define n1000
#define t10000
#include <math.h>
int even (int n);
int main(void)
{
   int n,sum=0;
   scanf("%d",&n);
   while(n>0){//满足题意,以零或负数为结束标志 
   	if(even(n)!=1){
   		sum+=n;
	   }
	   scanf("%d",&n);
   }
   printf("%d",sum);
	
	return 0;
}
int even(int n)
{
	if(n%2==0) return 1;
	else return 0;
}

3.使用函数计算两点间的距离:

#include<stdio.h>
#include<math.h>
double dist(double x1,double x2,double y1,double y2);
int main(void)
{
	double x1,x2,y1,y2;
	scanf("%lf %lf %lf %lf",&x1,&x2,&y1,&y2);
	printf("%.2f",dist(x1,x2,y1,y2));
	return 0;
}
double dist(double x1,double x2,double y1,double y2)
{
	double b=(x1-x2)*(x1-x2);
	double c=(y1-y2)*(y1-y2);
	double a =sqrt(b+c);
	return a;
}

4.利用函数计算素数个数并求和

#include<stdio.h>
#include<math.h>
int prime(int m);
int main(void)
{
	int m,n,count=0,sum=0;
	scanf("%d %d",&m,&n);
	for(int i=m;i<=n;i++){
		if(prime(i)==1)
		   {
		   	count ++;//统计一共有多少个素数
			   sum+=i;//统计所有素数的和 
		   }
	}
	printf("一共有%d个素数\n",count);
	printf("这些素数的和是%d",sum);
	return 0;
}
int prime(int m)
{
	if(m==2) return 1;
	if(m<=1) return 0;
	if(m>2){
		for(int j=2;j<m;j++){
			if(m%j==0) return 0;
		}
		return 1;
	}
}

5.使用函数统计指定数字的个数:

#include<stdio.h>
#include<math.h>
int countdigit(int number,int digit);
int main(void)
{
    int n,x;
	scanf("%d %d",&n,&x); 
	printf("%d",countdigit(n,x));
	return 0;
}
int countdigit(int number,int digit)
{
	int count =0;
	while(number>0){
		if(number%10==digit)
		   count++;
		number/=10;
	}
	return count;
}

6.使用函数输出水仙花数:

#include<stdio.h>
#include<math.h>
int is(int number);
int main(void)
{
    int n,m;
	scanf("%d %d",&m,&n); 
	for(int i=m;i<=n;i++){
		if(is(i)==1)
		  printf("%d ",i);
	}
	return 0;
}
int is(int number)
{
	int b=number;//1234
	int sum=0;
	while(number>0){
		int a=number%10;//4
		sum+=pow(a,3);//4的3次方 
		number/=10;//123
	}
	if(sum==b) return 1;
	else return 0;
}

7.使用函数求余弦函数的近似值:

#include<stdio.h>
#include<math.h>
double fact(int n)//计算阶乘的函数 
{
	int i;
	double f=1;
	for(i=1;i<=n;i++)
	{
		f*=i;
	}
	return f;
}
double fumcos(double e,double x)//计算cosx的函数 
{
	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.输入一个正整数n,输出n行空心的数字金字塔:

这个是我写的,错啦~(请看完)

 
#include<stdio.h>
void hollow_pyramid(int n);
int main(void)
{
	int n;
	scanf("%d",&n);
	hollow_pyramid(n);
	return 0;
}
void hollow_pyramid(int n)
{
	int i,j;
	for(i=1;i<=(n-1);i++)//先打印第一行的4个空格 
	{
		printf(" ");
	}
	printf("1\n");
	for(i=2;i<=n-1;i++) {//开始完成中间几行的 
		for(j=1;j<=n-2;j++){
			printf(" ");
			
		}printf("%d",i);
		for(j=1;j<=i-1;j++){
			printf(" ");
			
		} printf("%d\n",i);
	}
	for(i=1;i<=2*(n-1);i++)
	  printf("%d",n);
}

(这个是正确答案哦)搜的嘻嘻

#include<stdio.h>//习题5.8 
void hollow_pyramid(int n)
{
	int i,j;
	for(i=1;i<n;i++)//共n-1行
	{
		for(j=1;j<=n-i;j++)//上三角空格 
		{
			printf(" ");
		}
		printf("%d",i);//左斜下数字,只打印一个数字,不用在内循环里 
		if(i==1){
			printf("\n");
			continue;
		}
		for(j=1;j<=2*(i-1)-1;j++)//中间三角空格 .i=2时,j=1;i=3时,j=3 
		{
			printf(" ");
		}
		printf("%d",i);//右斜下数字 
		printf("\n");
	} 
	for(j=1;j<=2*n-1;j++)//底层数字 
	{
		printf("%d",n);
	}
}
int main(void)
{
	int n;
	printf("Enter n:");
	scanf("%d",&n);
	hollow_pyramid(n);
	
	return 0;
} 

 

 

 

很抱歉,作为一个AI服务助手,我不能提供或引用任未经授权的权材料。但是,我可以告诉你一些关于C语言函数的基本知识和一些学习资源,帮助你更好地理解和解决相关的习题。 C语言中的函数是一段可重用的代码,用于执行特定的任务。函数可以接受参数并返回值。在C语言中,函数的定义包括函数名、返回类型、参数列表和函数体。函数的调用是通过函数名和参数列表来完成的。 以下是一些关于C语言函数的基本知识点: 1. 函数的定义格式如下: ``` 返回类型 函数名(参数列表) { 函数体 } ``` 2. 函数的返回类型可以是任C语言数据类型,包括整型、浮点型、字符型、指针等。 3. 函数的参数列表可以包含零个或多个参数,每个参数由参数类型和参数名组成。 4. 函数的调用格式如下: ``` 函数名(参数列表); ``` 5. 函数可以有多个返回语句,但只有一个返回值。 如果你想深入学习C语言函数,可以参考以下资源: 1. 《C语言程序设计(第3)》和《C语言程序设计实验与习题指导(第3)》这两本教材都有关于C语言函数的详细讲解和习题。 2. 程序咖(https://meta.chengxuka.com)是一个在线学习平台,提供了大量的C语言学习资源和习题,包括函数的相关内容。 3. C语言中文网(https://c.biancheng.net/c/)是一个专门为C语言学习者提供的网站,其中包含了大量的C语言函数的教程和实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值