C语言函数相关练习题

1.写一个函数,其功能是求两个数中较小者

#include <stdio.h>
/*写一个函数,其功能是求两个数中较小者*/

int Min(int a,int b);
int main()
{
	int a=0,b=0;
	printf("请输入两个整数:\n");
	scanf("%d%d",&a,&b);
	
	int min=Min(a,b);
	
	printf("min=%d\n",min);
	
	return 0;
}

int Min(int a,int b)
{
	int min=0;
	min = (a<b)?a:b;
	return min;
}

运行结果:

请输入两个整数:
15 17
min=15

2.编写符号函数:
                 1 x>0
sign(x) =   0 x=0
                -1 x<0
在主函数中输入一个整数,调用 sign 函数并输出其符号函数的值。、

#include <stdio.h>
/*编写符号函数:
			1 x>0
sign(x) =   0 x=0
			-1 x<0
在主函数中输入一个整数,调用 sign 函数并输出其符号函数的值。*/

int SymFun(int a);
int main()
{
	int x=0;
	printf("请输入一个整数:\n");
	scanf("%d",&x);
	
	int f=SymFun(x);
	printf("sign(%d)=%d\n",x,f);
	
	return 0;
}

int SymFun(int a)
{
	int num=0;
	if(a>0)
	{
		num=1;
		//return 1;//可以直接返回数
	}
	else if(a<0)
	{
		num=-1;
		//return -1;
	}
	else
	{
		num=0;
		//return 0;
	}
	return num;
}

运行结果:

请输入一个整数:
100
sign(100)=1
请输入一个整数:
-100
sign(-100)=-1
请输入一个整数:
0
sign(0)=0

3.写一个函数,其功能是计算 m 到 n(设 m<n)之间所有整数的和.然后利用它计算并输出 1到 10、10 到 20、400 到 600 的和.

#include <stdio.h>
/*写一个函数,其功能是计算 m 到 n(设 m<n)之间所有整数的和.然后利用它计算并输出 1
到 10、10 到 20、400 到 600 的和.*/

int Sum(int a,int b);
int main()
{
	int m=0,n=0;
	printf("请输入2个整数分别为m和n(m<n):\n");
	scanf("%d%d",&m,&n);
	
	int sum=Sum(m,n);
	printf("%d到%d之间所有整数的和为%d\n",m,n,sum);
	
	return 0;
}

int Sum(int a,int b)
{
	int sum=0;
	while(a<=b)
	{
		sum+=a;
		a++;
	}
	return sum;
}

运行结果:

请输入2个整数分别为m和n(m<n):
1 10
1到10之间所有整数的和为55
请输入2个整数分别为m和n(m<n):
10 20
10到20之间所有整数的和为165
请输入2个整数分别为m和n(m<n):
400 600
400到600之间所有整数的和为100500

4.编写一个程序,该程序使用一个函数来计算用户输入的 5 个 float 值得平均值

#include <stdio.h>
/*编写一个程序,该程序使用一个函数来计算用户输入的 5 个 float 值得平均值*/

float Avg(float *p);
int main()
{
	float a[5]={0};
	printf("请输入5个数:\n");
	for(int i=0;i<5;i++)
	{
		scanf("%f",&a[i]);
	}
	
	float avg=Avg(a);
	printf("5个整数的平均值为%f\n",avg);
	
	return 0;
}

float Avg(float *p)//p=&num[0]
{
	float sum=0;
	for(int i=0;i<5;i++)
	{
		sum+=*(p+i);
	}
	float avg=sum/5;
	return avg;
}

运行结果:

请输入5个数:
1.11 2.22 3.33 4.44 5.55
5个整数的平均值为3.330000

5.从键盘输入一个表示年份的数( 1000-4000),判断该年是否闰年,并输出对应提示信息
( 闰年的计算算法是能被4整除,不能被100整除,则是闰年,结束;或能被400整除,则是闰年,结束)

#include <stdio.h>
/*从键盘输入一个表示年份的数( 1000-4000),判断该年是否闰年,并输出对应提示信息
( 闰年的计算算法是能被4整除,不能被100整除,则是闰年,结束;或能被400整除,则是闰年,结束)*/

void Judge(int a);
int main()
{
	int year = 0;
	printf("请输入年份:\n");
	scanf("%d",&year);
	
	Judge(year);
	return 0;
}

void Judge(int a)
{
	if((a%4==0&&a%100!=0)||a%400==0)
	{
		printf("%d是闰年\n",a);
	}
	else
	{
		printf("%d不是闰年\n",a);
	}
	return;
}

运行结果:

请输入年份:
2024
2024是闰年

6.编写程序,将用户输入的字符串中的所有的字符a用指定字符作代替,然后输出

#include <stdio.h>
/*编写程序,将用户输入的字符串中的所有的字符a用指定字符作代替,然后输出*/

void Replace(char *w,char a);
int main()
{
	char buf[32]={0};
	char z=0;
	printf("请输入代替字符:\n");
	scanf("%c",&z);
	printf("请输入字符串:\n");
	scanf("%s",buf);
    getchar();//接收回车键
	Replace(buf,z);
	printf("代替后:%s\n",buf);
	return 0;
}

void Replace(char *p,char z)
{
	while(*p)
	{
		if(*p=='a')
		{
			*p=z;
		}
		p++;
	}
	return;
}

运行结果:

请输入代替字符:
*
请输入字符串:
abcdabcd
代替后:*bcd*bcd

7.用函数实现求1+1/2+1/3+1/4+……1/n的值

#include <stdio.h>
/*用函数实现求1+1/2+1/3+1/4+……1/n的值*/

float Sum(int n);
int main()
{
	int n=0;
	printf("n=");
	scanf("%d",&n);
	
	float sum=Sum(n);
	printf("1+1/2+1/3+1/4+……1/%d=%.3f\n",n,sum);
	return 0;
}

float Sum(int n)
{
	int a=0;
	float sum=0;
	for(a=1;a<=n;a++)
	{
		sum+=(float)(1.0/a);
	}
	return sum;
}

运行结果:

n=6
1+1/2+1/3+1/4+……1/6=2.450

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值